@andrebuzeli/git-mcp 2.16.2 → 2.17.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.
Files changed (186) hide show
  1. package/dist/tools/gh-actions.d.ts +0 -9
  2. package/dist/tools/gh-actions.d.ts.map +1 -1
  3. package/dist/tools/gh-actions.js +6 -10
  4. package/dist/tools/gh-actions.js.map +1 -1
  5. package/dist/tools/gh-analytics.d.ts +0 -4
  6. package/dist/tools/gh-analytics.d.ts.map +1 -1
  7. package/dist/tools/gh-analytics.js +6 -12
  8. package/dist/tools/gh-analytics.js.map +1 -1
  9. package/dist/tools/gh-code-review.d.ts +0 -4
  10. package/dist/tools/gh-code-review.d.ts.map +1 -1
  11. package/dist/tools/gh-code-review.js +11 -27
  12. package/dist/tools/gh-code-review.js.map +1 -1
  13. package/dist/tools/gh-codespaces.d.ts +0 -12
  14. package/dist/tools/gh-codespaces.d.ts.map +1 -1
  15. package/dist/tools/gh-codespaces.js +9 -11
  16. package/dist/tools/gh-codespaces.js.map +1 -1
  17. package/dist/tools/gh-deployments.d.ts +0 -8
  18. package/dist/tools/gh-deployments.d.ts.map +1 -1
  19. package/dist/tools/gh-deployments.js +6 -10
  20. package/dist/tools/gh-deployments.js.map +1 -1
  21. package/dist/tools/gh-gists.d.ts +0 -16
  22. package/dist/tools/gh-gists.d.ts.map +1 -1
  23. package/dist/tools/gh-gists.js +4 -9
  24. package/dist/tools/gh-gists.js.map +1 -1
  25. package/dist/tools/gh-projects.d.ts +0 -16
  26. package/dist/tools/gh-projects.d.ts.map +1 -1
  27. package/dist/tools/gh-projects.js +4 -9
  28. package/dist/tools/gh-projects.js.map +1 -1
  29. package/dist/tools/gh-security.d.ts +0 -4
  30. package/dist/tools/gh-security.d.ts.map +1 -1
  31. package/dist/tools/gh-security.js +6 -9
  32. package/dist/tools/gh-security.js.map +1 -1
  33. package/dist/tools/gh-sync.d.ts +0 -12
  34. package/dist/tools/gh-sync.d.ts.map +1 -1
  35. package/dist/tools/gh-sync.js +4 -8
  36. package/dist/tools/gh-sync.js.map +1 -1
  37. package/dist/tools/gh-workflows.d.ts +0 -4
  38. package/dist/tools/gh-workflows.d.ts.map +1 -1
  39. package/dist/tools/gh-workflows.js +6 -10
  40. package/dist/tools/gh-workflows.js.map +1 -1
  41. package/dist/tools/git-archive.d.ts +0 -3
  42. package/dist/tools/git-archive.d.ts.map +1 -1
  43. package/dist/tools/git-archive.js +1 -1
  44. package/dist/tools/git-archive.js.map +1 -1
  45. package/dist/tools/git-branches.d.ts +1 -1
  46. package/dist/tools/git-branches.js +4 -4
  47. package/dist/tools/git-branches.js.map +1 -1
  48. package/dist/tools/git-bundle.d.ts +0 -3
  49. package/dist/tools/git-bundle.d.ts.map +1 -1
  50. package/dist/tools/git-bundle.js +1 -1
  51. package/dist/tools/git-bundle.js.map +1 -1
  52. package/dist/tools/git-cherry-pick.d.ts +0 -3
  53. package/dist/tools/git-cherry-pick.d.ts.map +1 -1
  54. package/dist/tools/git-cherry-pick.js +1 -1
  55. package/dist/tools/git-cherry-pick.js.map +1 -1
  56. package/dist/tools/git-commits.d.ts +6 -9
  57. package/dist/tools/git-commits.d.ts.map +1 -1
  58. package/dist/tools/git-commits.js +30 -28
  59. package/dist/tools/git-commits.js.map +1 -1
  60. package/dist/tools/git-config.d.ts +0 -3
  61. package/dist/tools/git-config.d.ts.map +1 -1
  62. package/dist/tools/git-config.js +1 -1
  63. package/dist/tools/git-config.js.map +1 -1
  64. package/dist/tools/git-files.d.ts +8 -11
  65. package/dist/tools/git-files.d.ts.map +1 -1
  66. package/dist/tools/git-files.js +40 -38
  67. package/dist/tools/git-files.js.map +1 -1
  68. package/dist/tools/git-issues.d.ts +8 -15
  69. package/dist/tools/git-issues.d.ts.map +1 -1
  70. package/dist/tools/git-issues.js +36 -36
  71. package/dist/tools/git-issues.js.map +1 -1
  72. package/dist/tools/git-pulls.d.ts +9 -16
  73. package/dist/tools/git-pulls.d.ts.map +1 -1
  74. package/dist/tools/git-pulls.js +41 -41
  75. package/dist/tools/git-pulls.js.map +1 -1
  76. package/dist/tools/git-rebase.d.ts +0 -3
  77. package/dist/tools/git-rebase.d.ts.map +1 -1
  78. package/dist/tools/git-rebase.js +1 -1
  79. package/dist/tools/git-rebase.js.map +1 -1
  80. package/dist/tools/git-releases.d.ts +1 -8
  81. package/dist/tools/git-releases.d.ts.map +1 -1
  82. package/dist/tools/git-releases.js +15 -17
  83. package/dist/tools/git-releases.js.map +1 -1
  84. package/dist/tools/git-remote.d.ts +0 -3
  85. package/dist/tools/git-remote.d.ts.map +1 -1
  86. package/dist/tools/git-remote.js +1 -1
  87. package/dist/tools/git-remote.js.map +1 -1
  88. package/dist/tools/git-repositories.d.ts +6 -9
  89. package/dist/tools/git-repositories.d.ts.map +1 -1
  90. package/dist/tools/git-repositories.js +40 -29
  91. package/dist/tools/git-repositories.js.map +1 -1
  92. package/dist/tools/git-reset.d.ts +0 -3
  93. package/dist/tools/git-reset.d.ts.map +1 -1
  94. package/dist/tools/git-reset.js +1 -1
  95. package/dist/tools/git-reset.js.map +1 -1
  96. package/dist/tools/git-revert.d.ts +0 -3
  97. package/dist/tools/git-revert.d.ts.map +1 -1
  98. package/dist/tools/git-revert.js +1 -1
  99. package/dist/tools/git-revert.js.map +1 -1
  100. package/dist/tools/git-stash.d.ts +0 -3
  101. package/dist/tools/git-stash.d.ts.map +1 -1
  102. package/dist/tools/git-stash.js +1 -1
  103. package/dist/tools/git-stash.js.map +1 -1
  104. package/dist/tools/git-submodule.d.ts +0 -3
  105. package/dist/tools/git-submodule.d.ts.map +1 -1
  106. package/dist/tools/git-submodule.js +1 -1
  107. package/dist/tools/git-submodule.js.map +1 -1
  108. package/dist/tools/git-sync.d.ts +0 -10
  109. package/dist/tools/git-sync.d.ts.map +1 -1
  110. package/dist/tools/git-sync.js +8 -2
  111. package/dist/tools/git-sync.js.map +1 -1
  112. package/dist/tools/git-tags.d.ts +2 -2
  113. package/dist/tools/git-tags.js +5 -5
  114. package/dist/tools/git-tags.js.map +1 -1
  115. package/dist/tools/git-webhooks.d.ts +7 -14
  116. package/dist/tools/git-webhooks.d.ts.map +1 -1
  117. package/dist/tools/git-webhooks.js +33 -33
  118. package/dist/tools/git-webhooks.js.map +1 -1
  119. package/dist/tools/git-worktree.d.ts +0 -3
  120. package/dist/tools/git-worktree.d.ts.map +1 -1
  121. package/dist/tools/git-worktree.js +1 -1
  122. package/dist/tools/git-worktree.js.map +1 -1
  123. package/dist/tools/repositories.d.ts +9 -12
  124. package/dist/tools/repositories.d.ts.map +1 -1
  125. package/dist/tools/repositories.js +46 -44
  126. package/dist/tools/repositories.js.map +1 -1
  127. package/dist/utils/user-detection.d.ts.map +1 -1
  128. package/dist/utils/user-detection.js +2 -17
  129. package/dist/utils/user-detection.js.map +1 -1
  130. package/package.json +59 -59
  131. package/dist/tools/actions.d.ts +0 -272
  132. package/dist/tools/actions.d.ts.map +0 -1
  133. package/dist/tools/actions.js +0 -479
  134. package/dist/tools/actions.js.map +0 -1
  135. package/dist/tools/analytics.d.ts +0 -326
  136. package/dist/tools/analytics.d.ts.map +0 -1
  137. package/dist/tools/analytics.js +0 -524
  138. package/dist/tools/analytics.js.map +0 -1
  139. package/dist/tools/branches.d.ts +0 -438
  140. package/dist/tools/branches.d.ts.map +0 -1
  141. package/dist/tools/branches.js +0 -525
  142. package/dist/tools/branches.js.map +0 -1
  143. package/dist/tools/code-review.d.ts +0 -323
  144. package/dist/tools/code-review.d.ts.map +0 -1
  145. package/dist/tools/code-review.js +0 -577
  146. package/dist/tools/code-review.js.map +0 -1
  147. package/dist/tools/commits.d.ts +0 -497
  148. package/dist/tools/commits.d.ts.map +0 -1
  149. package/dist/tools/commits.js +0 -626
  150. package/dist/tools/commits.js.map +0 -1
  151. package/dist/tools/deployments.d.ts +0 -319
  152. package/dist/tools/deployments.d.ts.map +0 -1
  153. package/dist/tools/deployments.js +0 -384
  154. package/dist/tools/deployments.js.map +0 -1
  155. package/dist/tools/files.d.ts +0 -463
  156. package/dist/tools/files.d.ts.map +0 -1
  157. package/dist/tools/files.js +0 -555
  158. package/dist/tools/files.js.map +0 -1
  159. package/dist/tools/issues.d.ts +0 -579
  160. package/dist/tools/issues.d.ts.map +0 -1
  161. package/dist/tools/issues.js +0 -694
  162. package/dist/tools/issues.js.map +0 -1
  163. package/dist/tools/pulls.d.ts +0 -702
  164. package/dist/tools/pulls.d.ts.map +0 -1
  165. package/dist/tools/pulls.js +0 -733
  166. package/dist/tools/pulls.js.map +0 -1
  167. package/dist/tools/releases.d.ts +0 -495
  168. package/dist/tools/releases.d.ts.map +0 -1
  169. package/dist/tools/releases.js +0 -552
  170. package/dist/tools/releases.js.map +0 -1
  171. package/dist/tools/security.d.ts +0 -341
  172. package/dist/tools/security.d.ts.map +0 -1
  173. package/dist/tools/security.js +0 -427
  174. package/dist/tools/security.js.map +0 -1
  175. package/dist/tools/tags.d.ts +0 -419
  176. package/dist/tools/tags.d.ts.map +0 -1
  177. package/dist/tools/tags.js +0 -480
  178. package/dist/tools/tags.js.map +0 -1
  179. package/dist/tools/webhooks.d.ts +0 -490
  180. package/dist/tools/webhooks.d.ts.map +0 -1
  181. package/dist/tools/webhooks.js +0 -556
  182. package/dist/tools/webhooks.js.map +0 -1
  183. package/dist/tools/workflows.d.ts +0 -313
  184. package/dist/tools/workflows.d.ts.map +0 -1
  185. package/dist/tools/workflows.js +0 -462
  186. package/dist/tools/workflows.js.map +0 -1
@@ -1,427 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.securityTool = 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: security
10
- *
11
- * DESCRIÇÃO:
12
- * Gerenciamento completo de segurança e compliance com múltiplas ações
13
- *
14
- * FUNCIONALIDADES:
15
- * - Execução de scans de segurança
16
- * - Listagem de vulnerabilidades
17
- * - Gerenciamento de alertas de segurança
18
- * - Configuração de políticas de segurança
19
- * - Verificação de compliance
20
- * - Análise de dependências
21
- *
22
- * USO:
23
- * - Para monitorar vulnerabilidades
24
- * - Para configurar políticas de segurança
25
- * - Para compliance e auditoria
26
- * - Para análise de dependências
27
- *
28
- * RECOMENDAÇÕES:
29
- * - Execute scans regularmente
30
- * - Configure alertas automáticos
31
- * - Mantenha dependências atualizadas
32
- * - Implemente políticas rigorosas
33
- */
34
- /**
35
- * Schema de validação para entrada da tool security
36
- */
37
- const SecurityInputSchema = zod_1.z.object({
38
- action: zod_1.z.enum(['scan', 'vulnerabilities', 'alerts', 'policies', 'compliance', 'dependencies', 'advisories']),
39
- // Parâmetros comuns
40
- owner: validator_js_1.CommonSchemas.owner,
41
- repo: validator_js_1.CommonSchemas.repo,
42
- provider: validator_js_1.CommonSchemas.provider,
43
- // Parâmetros para listagem
44
- page: validator_js_1.CommonSchemas.page,
45
- limit: validator_js_1.CommonSchemas.limit,
46
- // Parâmetros para scan
47
- scan_type: zod_1.z.enum(['code', 'dependencies', 'secrets', 'infrastructure']).optional(),
48
- ref: validator_js_1.CommonSchemas.branch,
49
- // Parâmetros para vulnerabilidades
50
- severity: zod_1.z.enum(['low', 'medium', 'high', 'critical']).optional(),
51
- state: zod_1.z.enum(['open', 'fixed', 'dismissed']).optional(),
52
- ecosystem: validator_js_1.CommonSchemas.shortString,
53
- package_name: validator_js_1.CommonSchemas.shortString,
54
- // Parâmetros para alertas
55
- alert_id: validator_js_1.CommonSchemas.shortString,
56
- alert_number: zod_1.z.number().optional(),
57
- dismiss_reason: zod_1.z.enum(['fix_started', 'inaccurate', 'no_bandwidth', 'not_used', 'tolerable_risk']).optional(),
58
- dismiss_comment: validator_js_1.CommonSchemas.mediumString,
59
- // Parâmetros para políticas
60
- policy_name: validator_js_1.CommonSchemas.shortString,
61
- policy_type: zod_1.z.enum(['branch_protection', 'required_reviews', 'status_checks', 'restrictions']).optional(),
62
- policy_config: zod_1.z.record(zod_1.z.any()).optional(),
63
- // Parâmetros para compliance
64
- compliance_framework: zod_1.z.enum(['sox', 'pci', 'hipaa', 'gdpr', 'iso27001']).optional(),
65
- report_format: zod_1.z.enum(['json', 'csv', 'pdf']).optional(),
66
- // Filtros
67
- created_after: zod_1.z.string().optional(),
68
- created_before: zod_1.z.string().optional(),
69
- updated_after: zod_1.z.string().optional(),
70
- updated_before: zod_1.z.string().optional()
71
- }).refine((data) => {
72
- // Validações específicas por ação
73
- if (['alerts'].includes(data.action) && data.alert_id) {
74
- return data.owner && data.repo;
75
- }
76
- return data.owner && data.repo;
77
- }, {
78
- message: "Parâmetros obrigatórios não fornecidos para a ação especificada"
79
- });
80
- /**
81
- * Schema de validação para resultado da tool security
82
- */
83
- const SecurityResultSchema = zod_1.z.object({
84
- success: zod_1.z.boolean(),
85
- action: zod_1.z.string(),
86
- message: zod_1.z.string(),
87
- data: zod_1.z.any().optional(),
88
- error: zod_1.z.string().optional()
89
- });
90
- /**
91
- * Implementação da tool security
92
- */
93
- exports.securityTool = {
94
- name: 'security',
95
- description: 'Manage security and compliance with multiple actions: scan, vulnerabilities, alerts, policies, compliance, dependencies. Suporte completo a GitHub Security e Gitea Security simultaneamente. Boas práticas: execute scans regularmente, configure alertas automáticos, mantenha dependências atualizadas e implemente políticas rigorosas.',
96
- inputSchema: {
97
- type: 'object',
98
- properties: {
99
- action: {
100
- type: 'string',
101
- enum: ['scan', 'vulnerabilities', 'alerts', 'policies', 'compliance', 'dependencies', 'advisories'],
102
- description: 'Action to perform on security'
103
- },
104
- owner: { type: 'string', description: 'Repository owner' },
105
- repo: { type: 'string', description: 'Repository name' },
106
- provider: { type: 'string', description: 'Specific provider (github, gitea) or use default' },
107
- scan_type: { type: 'string', enum: ['code', 'dependencies', 'secrets', 'infrastructure'], description: 'Type of security scan' },
108
- ref: { type: 'string', description: 'Git reference to scan' },
109
- severity: { type: 'string', enum: ['low', 'medium', 'high', 'critical'], description: 'Vulnerability severity filter' },
110
- state: { type: 'string', enum: ['open', 'fixed', 'dismissed'], description: 'Vulnerability state filter' },
111
- ecosystem: { type: 'string', description: 'Package ecosystem' },
112
- package_name: { type: 'string', description: 'Package name' },
113
- alert_id: { type: 'string', description: 'Security alert ID' },
114
- alert_number: { type: 'number', description: 'Security alert number' },
115
- dismiss_reason: { type: 'string', enum: ['fix_started', 'inaccurate', 'no_bandwidth', 'not_used', 'tolerable_risk'], description: 'Reason for dismissing alert' },
116
- dismiss_comment: { type: 'string', description: 'Comment for dismissing alert' },
117
- policy_name: { type: 'string', description: 'Security policy name' },
118
- policy_type: { type: 'string', enum: ['branch_protection', 'required_reviews', 'status_checks', 'restrictions'], description: 'Security policy type' },
119
- policy_config: { type: 'object', description: 'Security policy configuration' },
120
- compliance_framework: { type: 'string', enum: ['sox', 'pci', 'hipaa', 'gdpr', 'iso27001'], description: 'Compliance framework' },
121
- report_format: { type: 'string', enum: ['json', 'csv', 'pdf'], description: 'Report format' },
122
- created_after: { type: 'string', description: 'Filter items created after date' },
123
- created_before: { type: 'string', description: 'Filter items created before date' },
124
- updated_after: { type: 'string', description: 'Filter items updated after date' },
125
- updated_before: { type: 'string', description: 'Filter items updated before date' },
126
- page: { type: 'number', description: 'Page number', minimum: 1 },
127
- limit: { type: 'number', description: 'Items per page', minimum: 1, maximum: 100 }
128
- },
129
- required: ['action', 'owner', 'repo', 'provider']
130
- },
131
- async handler(input) {
132
- try {
133
- const validatedInput = SecurityInputSchema.parse(input);
134
- // Aplicar auto-detecção de usuário
135
- const updatedParams = await (0, user_detection_js_1.applyAutoUserDetection)(validatedInput, validatedInput.provider);
136
- const provider = updatedParams.provider
137
- ? index_js_1.globalProviderFactory.getProvider(updatedParams.provider)
138
- : index_js_1.globalProviderFactory.getDefaultProvider();
139
- if (!provider) {
140
- throw new Error(`Provider '${updatedParams.provider}' não encontrado`);
141
- }
142
- switch (updatedParams.action) {
143
- case 'scan':
144
- return await this.listVulnerabilities(updatedParams, provider);
145
- case 'vulnerabilities':
146
- return await this.manageSecurityAlerts(updatedParams, provider);
147
- case 'alerts':
148
- return await this.manageSecurityPolicies(updatedParams, provider);
149
- case 'policies':
150
- return await this.checkCompliance(updatedParams, provider);
151
- case 'compliance':
152
- return await this.analyzeDependencies(updatedParams, provider);
153
- case 'dependencies':
154
- return await this.listSecurityAdvisories(updatedParams, provider);
155
- case 'advisories':
156
- return await this.listSecurityAdvisories(updatedParams, provider);
157
- default:
158
- throw new Error(`Ação não suportada: ${updatedParams.action}`);
159
- }
160
- }
161
- catch (error) {
162
- return {
163
- success: false,
164
- action: input.action || 'unknown',
165
- message: 'Erro na operação de security',
166
- error: error instanceof Error ? error.message : String(error)
167
- };
168
- }
169
- },
170
- /**
171
- * Executa scan de segurança
172
- */
173
- async runSecurityScan(params, provider) {
174
- try {
175
- if (!provider.runSecurityScan) {
176
- return {
177
- success: true,
178
- action: 'scan',
179
- message: 'Funcionalidade de security scan não suportada por este provider',
180
- data: {
181
- scan_type: params.scan_type || 'code',
182
- findings: [],
183
- note: 'Security scan não disponível neste provider'
184
- }
185
- };
186
- }
187
- const result = await provider.runSecurityScan({
188
- owner: params.owner,
189
- repo: params.repo,
190
- scan_type: params.scan_type || 'code',
191
- ref: params.ref || 'main'
192
- });
193
- return {
194
- success: true,
195
- action: 'scan',
196
- message: `Scan de segurança executado com sucesso`,
197
- data: result
198
- };
199
- }
200
- catch (error) {
201
- throw new Error(`Falha ao executar scan de segurança: ${error}`);
202
- }
203
- },
204
- /**
205
- * Lista vulnerabilidades
206
- */
207
- async listVulnerabilities(params, provider) {
208
- try {
209
- // Auto-detecção de owner/username se não fornecidos
210
- let updatedParams = { ...params };
211
- if (!updatedParams.owner) {
212
- try {
213
- const currentUser = await provider.getCurrentUser();
214
- updatedParams.owner = currentUser.login;
215
- }
216
- catch (error) {
217
- console.warn('[SECURITY.TS] Falha na auto-detecção de usuário');
218
- }
219
- }
220
- if (!provider.listVulnerabilities) {
221
- return {
222
- success: true,
223
- action: 'vulnerabilities',
224
- message: 'Funcionalidade de vulnerabilidades não suportada por este provider',
225
- data: {
226
- total_count: 0,
227
- vulnerabilities: [],
228
- note: 'Vulnerabilidades não disponíveis neste provider'
229
- }
230
- };
231
- }
232
- const result = await provider.listVulnerabilities({
233
- owner: params.owner,
234
- repo: params.repo,
235
- severity: params.severity,
236
- state: params.state,
237
- ecosystem: params.ecosystem,
238
- package: params.package_name,
239
- page: params.page,
240
- limit: params.limit
241
- });
242
- return {
243
- success: true,
244
- action: 'vulnerabilities',
245
- message: `${result.vulnerabilities?.length || 0} vulnerabilidades encontradas`,
246
- data: result
247
- };
248
- }
249
- catch (error) {
250
- throw new Error(`Falha ao listar vulnerabilidades: ${error}`);
251
- }
252
- },
253
- /**
254
- * Gerencia alertas de segurança
255
- */
256
- async manageSecurityAlerts(params, provider) {
257
- try {
258
- if (!provider.manageSecurityAlerts) {
259
- return {
260
- success: false,
261
- action: 'manage-security-alerts',
262
- message: 'Funcionalidade não suportada por este provider',
263
- error: 'Provider não implementa manageSecurityAlerts'
264
- };
265
- }
266
- const result = await provider.manageSecurityAlerts({
267
- owner: params.owner,
268
- repo: params.repo,
269
- alert_id: params.alert_id,
270
- alert_number: params.alert_number,
271
- dismiss_reason: params.dismiss_reason,
272
- dismiss_comment: params.dismiss_comment,
273
- state: params.state,
274
- page: params.page,
275
- limit: params.limit
276
- });
277
- return {
278
- success: true,
279
- action: 'alerts',
280
- message: `Alertas de segurança gerenciados com sucesso`,
281
- data: result
282
- };
283
- }
284
- catch (error) {
285
- throw new Error(`Falha ao gerenciar alertas de segurança: ${error}`);
286
- }
287
- },
288
- /**
289
- * Gerencia políticas de segurança
290
- */
291
- async manageSecurityPolicies(params, provider) {
292
- try {
293
- if (!provider.manageSecurityPolicies) {
294
- return {
295
- success: false,
296
- action: 'manage-security-policies',
297
- message: 'Funcionalidade não suportada por este provider',
298
- error: 'Provider não implementa manageSecurityPolicies'
299
- };
300
- }
301
- const result = await provider.manageSecurityPolicies({
302
- owner: params.owner,
303
- repo: params.repo,
304
- policy_name: params.policy_name,
305
- policy_type: params.policy_type,
306
- policy_config: params.policy_config,
307
- page: params.page,
308
- limit: params.limit
309
- });
310
- return {
311
- success: true,
312
- action: 'policies',
313
- message: `Políticas de segurança gerenciadas com sucesso`,
314
- data: result
315
- };
316
- }
317
- catch (error) {
318
- throw new Error(`Falha ao gerenciar políticas de segurança: ${error}`);
319
- }
320
- },
321
- /**
322
- * Verifica compliance
323
- */
324
- async checkCompliance(params, provider) {
325
- try {
326
- if (!provider.checkCompliance) {
327
- return {
328
- success: false,
329
- action: 'check-compliance',
330
- message: 'Funcionalidade não suportada por este provider',
331
- error: 'Provider não implementa checkCompliance'
332
- };
333
- }
334
- const result = await provider.checkCompliance({
335
- owner: params.owner,
336
- repo: params.repo,
337
- framework: params.compliance_framework,
338
- report_format: params.report_format || 'json'
339
- });
340
- return {
341
- success: true,
342
- action: 'compliance',
343
- message: `Verificação de compliance executada com sucesso`,
344
- data: result
345
- };
346
- }
347
- catch (error) {
348
- throw new Error(`Falha ao verificar compliance: ${error}`);
349
- }
350
- },
351
- /**
352
- * Analisa dependências
353
- */
354
- async analyzeDependencies(params, provider) {
355
- try {
356
- if (!provider.analyzeDependencies) {
357
- return {
358
- success: false,
359
- action: 'analyze-dependencies',
360
- message: 'Funcionalidade não suportada por este provider',
361
- error: 'Provider não implementa analyzeDependencies'
362
- };
363
- }
364
- const result = await provider.analyzeDependencies({
365
- owner: params.owner,
366
- repo: params.repo,
367
- ecosystem: params.ecosystem,
368
- package: params.package_name,
369
- ref: params.ref
370
- });
371
- return {
372
- success: true,
373
- action: 'dependencies',
374
- message: `Análise de dependências executada com sucesso`,
375
- data: result
376
- };
377
- }
378
- catch (error) {
379
- throw new Error(`Falha ao analisar dependências: ${error}`);
380
- }
381
- },
382
- /**
383
- * Lista advisories de segurança
384
- */
385
- async listSecurityAdvisories(params, provider) {
386
- try {
387
- // Auto-detecção de owner/username se não fornecidos
388
- let updatedParams = { ...params };
389
- if (!updatedParams.owner) {
390
- try {
391
- const currentUser = await provider.getCurrentUser();
392
- updatedParams.owner = currentUser.login;
393
- }
394
- catch (error) {
395
- console.warn('[SECURITY.TS] Falha na auto-detecção de usuário');
396
- }
397
- }
398
- if (!provider.listSecurityAdvisories) {
399
- return {
400
- success: false,
401
- action: 'list-security-advisories',
402
- message: 'Funcionalidade não suportada por este provider',
403
- error: 'Provider não implementa listSecurityAdvisories'
404
- };
405
- }
406
- const result = await provider.listSecurityAdvisories({
407
- owner: params.owner,
408
- repo: params.repo,
409
- severity: params.severity,
410
- ecosystem: params.ecosystem,
411
- package: params.package_name,
412
- page: params.page,
413
- limit: params.limit
414
- });
415
- return {
416
- success: true,
417
- action: 'advisories',
418
- message: `${result.advisories?.length || 0} advisories encontrados`,
419
- data: result
420
- };
421
- }
422
- catch (error) {
423
- throw new Error(`Falha ao listar advisories: ${error}`);
424
- }
425
- }
426
- };
427
- //# sourceMappingURL=security.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/tools/security.ts"],"names":[],"mappings":"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"}