@andrebuzeli/git-mcp 2.13.0 → 2.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/server.js +29 -29
- package/dist/server.js.map +1 -1
- package/dist/tools/gh-actions.d.ts +272 -0
- package/dist/tools/gh-actions.d.ts.map +1 -0
- package/dist/tools/gh-actions.js +479 -0
- package/dist/tools/gh-actions.js.map +1 -0
- package/dist/tools/gh-analytics.d.ts +326 -0
- package/dist/tools/gh-analytics.d.ts.map +1 -0
- package/dist/tools/gh-analytics.js +524 -0
- package/dist/tools/gh-analytics.js.map +1 -0
- package/dist/tools/gh-code-review.d.ts +323 -0
- package/dist/tools/gh-code-review.d.ts.map +1 -0
- package/dist/tools/gh-code-review.js +577 -0
- package/dist/tools/gh-code-review.js.map +1 -0
- package/dist/tools/gh-deployments.d.ts +319 -0
- package/dist/tools/gh-deployments.d.ts.map +1 -0
- package/dist/tools/gh-deployments.js +384 -0
- package/dist/tools/gh-deployments.js.map +1 -0
- package/dist/tools/gh-gists.d.ts +6 -6
- package/dist/tools/gh-security.d.ts +341 -0
- package/dist/tools/gh-security.d.ts.map +1 -0
- package/dist/tools/gh-security.js +427 -0
- package/dist/tools/gh-security.js.map +1 -0
- package/dist/tools/gh-workflows.d.ts +313 -0
- package/dist/tools/gh-workflows.d.ts.map +1 -0
- package/dist/tools/gh-workflows.js +462 -0
- package/dist/tools/gh-workflows.js.map +1 -0
- package/dist/tools/git-branches.d.ts +438 -0
- package/dist/tools/git-branches.d.ts.map +1 -0
- package/dist/tools/git-branches.js +525 -0
- package/dist/tools/git-branches.js.map +1 -0
- package/dist/tools/git-commits.d.ts +497 -0
- package/dist/tools/git-commits.d.ts.map +1 -0
- package/dist/tools/git-commits.js +626 -0
- package/dist/tools/git-commits.js.map +1 -0
- package/dist/tools/git-files.d.ts +463 -0
- package/dist/tools/git-files.d.ts.map +1 -0
- package/dist/tools/git-files.js +555 -0
- package/dist/tools/git-files.js.map +1 -0
- package/dist/tools/git-issues.d.ts +579 -0
- package/dist/tools/git-issues.d.ts.map +1 -0
- package/dist/tools/git-issues.js +694 -0
- package/dist/tools/git-issues.js.map +1 -0
- package/dist/tools/git-pulls.d.ts +702 -0
- package/dist/tools/git-pulls.d.ts.map +1 -0
- package/dist/tools/git-pulls.js +733 -0
- package/dist/tools/git-pulls.js.map +1 -0
- package/dist/tools/git-releases.d.ts +495 -0
- package/dist/tools/git-releases.d.ts.map +1 -0
- package/dist/tools/git-releases.js +552 -0
- package/dist/tools/git-releases.js.map +1 -0
- package/dist/tools/git-tags.d.ts +419 -0
- package/dist/tools/git-tags.d.ts.map +1 -0
- package/dist/tools/git-tags.js +480 -0
- package/dist/tools/git-tags.js.map +1 -0
- package/dist/tools/git-webhooks.d.ts +490 -0
- package/dist/tools/git-webhooks.d.ts.map +1 -0
- package/dist/tools/git-webhooks.js +556 -0
- package/dist/tools/git-webhooks.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,462 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.workflowsTool = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const index_js_1 = require("../providers/index.js");
|
|
6
|
+
const user_detection_js_1 = require("../utils/user-detection.js");
|
|
7
|
+
const validator_js_1 = require("./validator.js");
|
|
8
|
+
/**
|
|
9
|
+
* Tool: workflows
|
|
10
|
+
*
|
|
11
|
+
* DESCRIÇÃO:
|
|
12
|
+
* Gerenciamento completo de workflows CI/CD com múltiplas ações
|
|
13
|
+
*
|
|
14
|
+
* FUNCIONALIDADES:
|
|
15
|
+
* - Listagem de workflows ativos
|
|
16
|
+
* - Criação de novos workflows
|
|
17
|
+
* - Disparo manual de workflows
|
|
18
|
+
* - Verificação de status de execução
|
|
19
|
+
* - Obtenção de logs de execução
|
|
20
|
+
* - Controle de workflows (enable/disable)
|
|
21
|
+
*
|
|
22
|
+
* USO:
|
|
23
|
+
* - Para automatizar CI/CD pipelines
|
|
24
|
+
* - Para monitorar execuções
|
|
25
|
+
* - Para gerenciar workflows de desenvolvimento
|
|
26
|
+
* - Para integração com ferramentas de deploy
|
|
27
|
+
*
|
|
28
|
+
* RECOMENDAÇÕES:
|
|
29
|
+
* - Use workflows para automatizar testes
|
|
30
|
+
* - Configure triggers apropriados
|
|
31
|
+
* - Monitore logs regularmente
|
|
32
|
+
* - Mantenha workflows simples e focados
|
|
33
|
+
*/
|
|
34
|
+
/**
|
|
35
|
+
* Schema de validação para entrada da tool workflows
|
|
36
|
+
*
|
|
37
|
+
* VALIDAÇÕES:
|
|
38
|
+
* - action: Ação obrigatória (list, create, trigger, status, logs, disable, enable)
|
|
39
|
+
* - Parâmetros específicos por ação
|
|
40
|
+
* - Validação de tipos e formatos
|
|
41
|
+
*
|
|
42
|
+
* RECOMENDAÇÕES:
|
|
43
|
+
* - Sempre valide entrada antes de usar
|
|
44
|
+
* - Use parâmetros opcionais adequadamente
|
|
45
|
+
* - Documente parâmetros obrigatórios
|
|
46
|
+
*/
|
|
47
|
+
const WorkflowsInputSchema = zod_1.z.object({
|
|
48
|
+
action: zod_1.z.enum(['list', 'create', 'trigger', 'status', 'logs', 'disable', 'enable']),
|
|
49
|
+
// Parâmetros comuns
|
|
50
|
+
owner: validator_js_1.CommonSchemas.owner,
|
|
51
|
+
repo: validator_js_1.CommonSchemas.repo,
|
|
52
|
+
provider: validator_js_1.CommonSchemas.provider,
|
|
53
|
+
// Parâmetros para listagem
|
|
54
|
+
page: validator_js_1.CommonSchemas.page,
|
|
55
|
+
limit: validator_js_1.CommonSchemas.limit,
|
|
56
|
+
// Parâmetros para criação
|
|
57
|
+
name: validator_js_1.CommonSchemas.shortString,
|
|
58
|
+
description: validator_js_1.CommonSchemas.mediumString,
|
|
59
|
+
workflow_content: validator_js_1.CommonSchemas.longString,
|
|
60
|
+
branch: validator_js_1.CommonSchemas.branch,
|
|
61
|
+
// Parâmetros para trigger e status
|
|
62
|
+
workflow_id: validator_js_1.CommonSchemas.shortString,
|
|
63
|
+
workflow_name: validator_js_1.CommonSchemas.shortString,
|
|
64
|
+
run_id: validator_js_1.CommonSchemas.shortString,
|
|
65
|
+
// Parâmetros para logs
|
|
66
|
+
job_id: validator_js_1.CommonSchemas.shortString,
|
|
67
|
+
step_number: zod_1.z.number().optional(),
|
|
68
|
+
// Parâmetros para inputs do workflow
|
|
69
|
+
inputs: zod_1.z.record(zod_1.z.string()).optional(),
|
|
70
|
+
ref: validator_js_1.CommonSchemas.branch.optional()
|
|
71
|
+
}).refine((data) => {
|
|
72
|
+
// Validações específicas por ação
|
|
73
|
+
if (['create'].includes(data.action)) {
|
|
74
|
+
return data.owner && data.repo && data.name && data.workflow_content;
|
|
75
|
+
}
|
|
76
|
+
if (['trigger', 'status', 'logs', 'disable', 'enable'].includes(data.action)) {
|
|
77
|
+
return data.owner && data.repo && (data.workflow_id || data.workflow_name);
|
|
78
|
+
}
|
|
79
|
+
return data.owner && data.repo;
|
|
80
|
+
}, {
|
|
81
|
+
message: "Parâmetros obrigatórios não fornecidos para a ação especificada"
|
|
82
|
+
});
|
|
83
|
+
/**
|
|
84
|
+
* Schema de validação para resultado da tool workflows
|
|
85
|
+
*/
|
|
86
|
+
const WorkflowsResultSchema = zod_1.z.object({
|
|
87
|
+
success: zod_1.z.boolean(),
|
|
88
|
+
action: zod_1.z.string(),
|
|
89
|
+
message: zod_1.z.string(),
|
|
90
|
+
data: zod_1.z.any().optional(),
|
|
91
|
+
error: zod_1.z.string().optional()
|
|
92
|
+
});
|
|
93
|
+
/**
|
|
94
|
+
* Implementação da tool workflows
|
|
95
|
+
*
|
|
96
|
+
* ESTRUTURA:
|
|
97
|
+
* - Validação de entrada
|
|
98
|
+
* - Seleção do provider
|
|
99
|
+
* - Execução da ação
|
|
100
|
+
* - Tratamento de erros
|
|
101
|
+
* - Formatação do resultado
|
|
102
|
+
*
|
|
103
|
+
* AÇÕES SUPORTADAS:
|
|
104
|
+
* - list: Lista workflows do repositório
|
|
105
|
+
* - create: Cria novo workflow
|
|
106
|
+
* - trigger: Dispara workflow manualmente
|
|
107
|
+
* - status: Verifica status de execução
|
|
108
|
+
* - logs: Obtém logs de execução
|
|
109
|
+
* - disable: Desabilita workflow
|
|
110
|
+
* - enable: Habilita workflow
|
|
111
|
+
*
|
|
112
|
+
* TRATAMENTO DE ERROS:
|
|
113
|
+
* - Validação de parâmetros
|
|
114
|
+
* - Verificação de permissões
|
|
115
|
+
* - Tratamento de falhas de API
|
|
116
|
+
* - Logs detalhados para debug
|
|
117
|
+
*/
|
|
118
|
+
exports.workflowsTool = {
|
|
119
|
+
name: 'gh-workflows',
|
|
120
|
+
description: 'Gerenciamento completo de GitHub Actions workflows CI/CD (EXCLUSIVO GITHUB). PARÂMETROS OBRIGATÓRIOS: action, owner, repo, provider (deve ser github). AÇÕES: list (lista workflows), create (cria YAML), trigger (dispara), status (verifica), logs (obtém), disable/enable (controle). Boas práticas: automatize CI/CD, monitore execuções, configure triggers apropriados.',
|
|
121
|
+
inputSchema: {
|
|
122
|
+
type: 'object',
|
|
123
|
+
properties: {
|
|
124
|
+
action: {
|
|
125
|
+
type: 'string',
|
|
126
|
+
enum: ['list', 'create', 'trigger', 'status', 'logs', 'disable', 'enable'],
|
|
127
|
+
description: 'Action to perform on workflows'
|
|
128
|
+
},
|
|
129
|
+
owner: { type: 'string', description: 'Repository owner' },
|
|
130
|
+
repo: { type: 'string', description: 'Repository name' },
|
|
131
|
+
provider: { type: 'string', description: 'Specific provider (github, gitea) or use default' },
|
|
132
|
+
name: { type: 'string', description: 'Workflow name for creation' },
|
|
133
|
+
description: { type: 'string', description: 'Workflow description' },
|
|
134
|
+
workflow_content: { type: 'string', description: 'Workflow YAML content' },
|
|
135
|
+
branch: { type: 'string', description: 'Target branch' },
|
|
136
|
+
workflow_id: { type: 'string', description: 'Workflow ID' },
|
|
137
|
+
workflow_name: { type: 'string', description: 'Workflow name' },
|
|
138
|
+
run_id: { type: 'string', description: 'Workflow run ID' },
|
|
139
|
+
job_id: { type: 'string', description: 'Job ID for logs' },
|
|
140
|
+
step_number: { type: 'number', description: 'Step number for logs' },
|
|
141
|
+
inputs: { type: 'object', description: 'Workflow inputs' },
|
|
142
|
+
ref: { type: 'string', description: 'Git reference for trigger' },
|
|
143
|
+
page: { type: 'number', description: 'Page number', minimum: 1 },
|
|
144
|
+
limit: { type: 'number', description: 'Items per page', minimum: 1, maximum: 100 }
|
|
145
|
+
},
|
|
146
|
+
required: ['action', 'owner', 'repo', 'provider']
|
|
147
|
+
},
|
|
148
|
+
/**
|
|
149
|
+
* Handler principal da tool workflows
|
|
150
|
+
*
|
|
151
|
+
* FLUXO:
|
|
152
|
+
* 1. Validação da entrada
|
|
153
|
+
* 2. Seleção do provider
|
|
154
|
+
* 3. Execução da ação específica
|
|
155
|
+
* 4. Formatação e retorno do resultado
|
|
156
|
+
*
|
|
157
|
+
* PARÂMETROS:
|
|
158
|
+
* @param input - Dados de entrada validados
|
|
159
|
+
*
|
|
160
|
+
* RETORNO:
|
|
161
|
+
* @returns Promise<WorkflowsResult> - Resultado da operação
|
|
162
|
+
*
|
|
163
|
+
* ERROS:
|
|
164
|
+
* - Lança exceção em caso de erro de validação
|
|
165
|
+
* - Retorna erro formatado em caso de falha de API
|
|
166
|
+
*/
|
|
167
|
+
async handler(input) {
|
|
168
|
+
try {
|
|
169
|
+
// Validação da entrada
|
|
170
|
+
const validatedInput = WorkflowsInputSchema.parse(input);
|
|
171
|
+
// Aplicar auto-detecção de usuário
|
|
172
|
+
const updatedParams = await (0, user_detection_js_1.applyAutoUserDetection)(validatedInput, validatedInput.provider);
|
|
173
|
+
// Seleção do provider
|
|
174
|
+
const provider = updatedParams.provider
|
|
175
|
+
? index_js_1.globalProviderFactory.getProvider(updatedParams.provider)
|
|
176
|
+
: index_js_1.globalProviderFactory.getDefaultProvider();
|
|
177
|
+
if (!provider) {
|
|
178
|
+
throw new Error(`Provider '${updatedParams.provider}' não encontrado`);
|
|
179
|
+
}
|
|
180
|
+
// Execução da ação específica
|
|
181
|
+
switch (updatedParams.action) {
|
|
182
|
+
case 'list':
|
|
183
|
+
return await this.listWorkflows(updatedParams, provider);
|
|
184
|
+
case 'create':
|
|
185
|
+
return await this.createWorkflow(updatedParams, provider);
|
|
186
|
+
case 'trigger':
|
|
187
|
+
return await this.triggerWorkflow(updatedParams, provider);
|
|
188
|
+
case 'status':
|
|
189
|
+
return await this.getWorkflowStatus(updatedParams, provider);
|
|
190
|
+
case 'logs':
|
|
191
|
+
return await this.getWorkflowLogs(updatedParams, provider);
|
|
192
|
+
case 'disable':
|
|
193
|
+
return await this.disableWorkflow(updatedParams, provider);
|
|
194
|
+
case 'enable':
|
|
195
|
+
return await this.enableWorkflow(updatedParams, provider);
|
|
196
|
+
default:
|
|
197
|
+
throw new Error(`Ação não suportada: ${updatedParams.action}`);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
catch (error) {
|
|
201
|
+
return {
|
|
202
|
+
success: false,
|
|
203
|
+
action: input.action || 'unknown',
|
|
204
|
+
message: 'Erro na operação de workflows',
|
|
205
|
+
error: error instanceof Error ? error.message : String(error)
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
},
|
|
209
|
+
/**
|
|
210
|
+
* Lista workflows do repositório
|
|
211
|
+
*/
|
|
212
|
+
async listWorkflows(params, provider) {
|
|
213
|
+
try {
|
|
214
|
+
// Auto-detecção de owner/username se não fornecidos
|
|
215
|
+
let updatedParams = { ...params };
|
|
216
|
+
if (!updatedParams.owner) {
|
|
217
|
+
try {
|
|
218
|
+
const currentUser = await provider.getCurrentUser();
|
|
219
|
+
updatedParams.owner = currentUser.login;
|
|
220
|
+
}
|
|
221
|
+
catch (error) {
|
|
222
|
+
console.warn('[WORKFLOWS.TS] Falha na auto-detecção de usuário');
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
if (!provider.listWorkflows) {
|
|
226
|
+
return {
|
|
227
|
+
success: true,
|
|
228
|
+
action: 'list',
|
|
229
|
+
message: 'Funcionalidade de workflows não suportada por este provider',
|
|
230
|
+
data: {
|
|
231
|
+
total_count: 0,
|
|
232
|
+
workflows: [],
|
|
233
|
+
note: 'Workflows não disponíveis neste provider'
|
|
234
|
+
}
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
const result = await provider.listWorkflows({
|
|
238
|
+
owner: params.owner,
|
|
239
|
+
repo: params.repo,
|
|
240
|
+
page: params.page,
|
|
241
|
+
limit: params.limit
|
|
242
|
+
});
|
|
243
|
+
return {
|
|
244
|
+
success: true,
|
|
245
|
+
action: 'list',
|
|
246
|
+
message: `${result.workflows?.length || 0} workflows encontrados`,
|
|
247
|
+
data: result
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
catch (error) {
|
|
251
|
+
throw new Error(`Falha ao listar workflows: ${error}`);
|
|
252
|
+
}
|
|
253
|
+
},
|
|
254
|
+
/**
|
|
255
|
+
* Cria novo workflow
|
|
256
|
+
*/
|
|
257
|
+
async createWorkflow(params, provider) {
|
|
258
|
+
try {
|
|
259
|
+
if (!provider.createWorkflow) {
|
|
260
|
+
return {
|
|
261
|
+
success: false,
|
|
262
|
+
action: 'create-workflow',
|
|
263
|
+
message: 'Funcionalidade não suportada por este provider',
|
|
264
|
+
error: 'Provider não implementa createWorkflow'
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
const result = await provider.createWorkflow({
|
|
268
|
+
owner: params.owner,
|
|
269
|
+
repo: params.repo,
|
|
270
|
+
name: params.name,
|
|
271
|
+
description: params.description,
|
|
272
|
+
content: params.workflow_content,
|
|
273
|
+
branch: params.branch
|
|
274
|
+
});
|
|
275
|
+
return {
|
|
276
|
+
success: true,
|
|
277
|
+
action: 'create',
|
|
278
|
+
message: `Workflow '${params.name}' criado com sucesso`,
|
|
279
|
+
data: result
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
catch (error) {
|
|
283
|
+
throw new Error(`Falha ao criar workflow: ${error}`);
|
|
284
|
+
}
|
|
285
|
+
},
|
|
286
|
+
/**
|
|
287
|
+
* Dispara workflow manualmente
|
|
288
|
+
*/
|
|
289
|
+
async triggerWorkflow(params, provider) {
|
|
290
|
+
try {
|
|
291
|
+
if (!provider.triggerWorkflow) {
|
|
292
|
+
return {
|
|
293
|
+
success: false,
|
|
294
|
+
action: 'trigger-workflow',
|
|
295
|
+
message: 'Funcionalidade não suportada por este provider',
|
|
296
|
+
error: 'Provider não implementa triggerWorkflow'
|
|
297
|
+
};
|
|
298
|
+
}
|
|
299
|
+
const result = await provider.triggerWorkflow({
|
|
300
|
+
owner: params.owner,
|
|
301
|
+
repo: params.repo,
|
|
302
|
+
workflow_id: params.workflow_id,
|
|
303
|
+
workflow_name: params.workflow_name,
|
|
304
|
+
ref: params.ref || 'main',
|
|
305
|
+
inputs: params.inputs
|
|
306
|
+
});
|
|
307
|
+
return {
|
|
308
|
+
success: true,
|
|
309
|
+
action: 'trigger',
|
|
310
|
+
message: `Workflow disparado com sucesso`,
|
|
311
|
+
data: result
|
|
312
|
+
};
|
|
313
|
+
}
|
|
314
|
+
catch (error) {
|
|
315
|
+
throw new Error(`Falha ao disparar workflow: ${error}`);
|
|
316
|
+
}
|
|
317
|
+
},
|
|
318
|
+
/**
|
|
319
|
+
* Verifica status de execução do workflow
|
|
320
|
+
*/
|
|
321
|
+
async getWorkflowStatus(params, provider) {
|
|
322
|
+
try {
|
|
323
|
+
// Auto-detecção de owner/username se não fornecidos
|
|
324
|
+
let updatedParams = { ...params };
|
|
325
|
+
if (!updatedParams.owner) {
|
|
326
|
+
try {
|
|
327
|
+
const currentUser = await provider.getCurrentUser();
|
|
328
|
+
updatedParams.owner = currentUser.login;
|
|
329
|
+
}
|
|
330
|
+
catch (error) {
|
|
331
|
+
console.warn('[WORKFLOWS.TS] Falha na auto-detecção de usuário');
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
if (!provider.getWorkflowStatus) {
|
|
335
|
+
return {
|
|
336
|
+
success: false,
|
|
337
|
+
action: 'get-workflow-status',
|
|
338
|
+
message: 'Funcionalidade não suportada por este provider',
|
|
339
|
+
error: 'Provider não implementa getWorkflowStatus'
|
|
340
|
+
};
|
|
341
|
+
}
|
|
342
|
+
const result = await provider.getWorkflowStatus({
|
|
343
|
+
owner: params.owner,
|
|
344
|
+
repo: params.repo,
|
|
345
|
+
run_id: params.run_id,
|
|
346
|
+
workflow_id: params.workflow_id
|
|
347
|
+
});
|
|
348
|
+
return {
|
|
349
|
+
success: true,
|
|
350
|
+
action: 'status',
|
|
351
|
+
message: `Status do workflow obtido com sucesso`,
|
|
352
|
+
data: result
|
|
353
|
+
};
|
|
354
|
+
}
|
|
355
|
+
catch (error) {
|
|
356
|
+
throw new Error(`Falha ao obter status do workflow: ${error}`);
|
|
357
|
+
}
|
|
358
|
+
},
|
|
359
|
+
/**
|
|
360
|
+
* Obtém logs de execução do workflow
|
|
361
|
+
*/
|
|
362
|
+
async getWorkflowLogs(params, provider) {
|
|
363
|
+
try {
|
|
364
|
+
// Auto-detecção de owner/username se não fornecidos
|
|
365
|
+
let updatedParams = { ...params };
|
|
366
|
+
if (!updatedParams.owner) {
|
|
367
|
+
try {
|
|
368
|
+
const currentUser = await provider.getCurrentUser();
|
|
369
|
+
updatedParams.owner = currentUser.login;
|
|
370
|
+
}
|
|
371
|
+
catch (error) {
|
|
372
|
+
console.warn('[WORKFLOWS.TS] Falha na auto-detecção de usuário');
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
if (!provider.getWorkflowLogs) {
|
|
376
|
+
return {
|
|
377
|
+
success: false,
|
|
378
|
+
action: 'get-workflow-logs',
|
|
379
|
+
message: 'Funcionalidade não suportada por este provider',
|
|
380
|
+
error: 'Provider não implementa getWorkflowLogs'
|
|
381
|
+
};
|
|
382
|
+
}
|
|
383
|
+
const result = await provider.getWorkflowLogs({
|
|
384
|
+
owner: params.owner,
|
|
385
|
+
repo: params.repo,
|
|
386
|
+
run_id: params.run_id,
|
|
387
|
+
job_id: params.job_id,
|
|
388
|
+
step_number: params.step_number
|
|
389
|
+
});
|
|
390
|
+
return {
|
|
391
|
+
success: true,
|
|
392
|
+
action: 'logs',
|
|
393
|
+
message: `Logs do workflow obtidos com sucesso`,
|
|
394
|
+
data: result
|
|
395
|
+
};
|
|
396
|
+
}
|
|
397
|
+
catch (error) {
|
|
398
|
+
throw new Error(`Falha ao obter logs do workflow: ${error}`);
|
|
399
|
+
}
|
|
400
|
+
},
|
|
401
|
+
/**
|
|
402
|
+
* Desabilita workflow
|
|
403
|
+
*/
|
|
404
|
+
async disableWorkflow(params, provider) {
|
|
405
|
+
try {
|
|
406
|
+
if (!provider.disableWorkflow) {
|
|
407
|
+
return {
|
|
408
|
+
success: false,
|
|
409
|
+
action: 'disable-workflow',
|
|
410
|
+
message: 'Funcionalidade não suportada por este provider',
|
|
411
|
+
error: 'Provider não implementa disableWorkflow'
|
|
412
|
+
};
|
|
413
|
+
}
|
|
414
|
+
const result = await provider.disableWorkflow({
|
|
415
|
+
owner: params.owner,
|
|
416
|
+
repo: params.repo,
|
|
417
|
+
workflow_id: params.workflow_id,
|
|
418
|
+
workflow_name: params.workflow_name
|
|
419
|
+
});
|
|
420
|
+
return {
|
|
421
|
+
success: true,
|
|
422
|
+
action: 'disable',
|
|
423
|
+
message: `Workflow desabilitado com sucesso`,
|
|
424
|
+
data: result
|
|
425
|
+
};
|
|
426
|
+
}
|
|
427
|
+
catch (error) {
|
|
428
|
+
throw new Error(`Falha ao desabilitar workflow: ${error}`);
|
|
429
|
+
}
|
|
430
|
+
},
|
|
431
|
+
/**
|
|
432
|
+
* Habilita workflow
|
|
433
|
+
*/
|
|
434
|
+
async enableWorkflow(params, provider) {
|
|
435
|
+
try {
|
|
436
|
+
if (!provider.enableWorkflow) {
|
|
437
|
+
return {
|
|
438
|
+
success: false,
|
|
439
|
+
action: 'enable-workflow',
|
|
440
|
+
message: 'Funcionalidade não suportada por este provider',
|
|
441
|
+
error: 'Provider não implementa enableWorkflow'
|
|
442
|
+
};
|
|
443
|
+
}
|
|
444
|
+
const result = await provider.enableWorkflow({
|
|
445
|
+
owner: params.owner,
|
|
446
|
+
repo: params.repo,
|
|
447
|
+
workflow_id: params.workflow_id,
|
|
448
|
+
workflow_name: params.workflow_name
|
|
449
|
+
});
|
|
450
|
+
return {
|
|
451
|
+
success: true,
|
|
452
|
+
action: 'enable',
|
|
453
|
+
message: `Workflow habilitado com sucesso`,
|
|
454
|
+
data: result
|
|
455
|
+
};
|
|
456
|
+
}
|
|
457
|
+
catch (error) {
|
|
458
|
+
throw new Error(`Falha ao habilitar workflow: ${error}`);
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
};
|
|
462
|
+
//# sourceMappingURL=gh-workflows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gh-workflows.js","sourceRoot":"","sources":["../../src/tools/gh-workflows.ts"],"names":[],"mappings":"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"}
|