@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.
Files changed (154) hide show
  1. package/dist/client.d.ts +306 -306
  2. package/dist/client.js +298 -298
  3. package/dist/config.d.ts +310 -310
  4. package/dist/config.js +392 -392
  5. package/dist/index.d.ts +22 -22
  6. package/dist/index.js +89 -89
  7. package/dist/providers/base-provider.d.ts +160 -160
  8. package/dist/providers/base-provider.js +274 -274
  9. package/dist/providers/error-handler.d.ts +50 -50
  10. package/dist/providers/error-handler.js +175 -175
  11. package/dist/providers/gitea-provider.d.ts +97 -97
  12. package/dist/providers/gitea-provider.d.ts.map +1 -1
  13. package/dist/providers/gitea-provider.js +1015 -1001
  14. package/dist/providers/gitea-provider.js.map +1 -1
  15. package/dist/providers/github-provider.d.ts +104 -104
  16. package/dist/providers/github-provider.d.ts.map +1 -1
  17. package/dist/providers/github-provider.js +1248 -1234
  18. package/dist/providers/github-provider.js.map +1 -1
  19. package/dist/providers/index.d.ts +12 -12
  20. package/dist/providers/index.js +40 -40
  21. package/dist/providers/provider-factory.d.ts +74 -74
  22. package/dist/providers/provider-factory.d.ts.map +1 -1
  23. package/dist/providers/provider-factory.js +318 -311
  24. package/dist/providers/provider-factory.js.map +1 -1
  25. package/dist/providers/types.d.ts +318 -318
  26. package/dist/providers/types.js +6 -6
  27. package/dist/server.d.ts +76 -76
  28. package/dist/server.js +306 -306
  29. package/dist/tools/git-archive.d.ts +165 -165
  30. package/dist/tools/git-archive.js +233 -233
  31. package/dist/tools/git-branches.d.ts +430 -430
  32. package/dist/tools/git-branches.js +627 -627
  33. package/dist/tools/git-commits.d.ts +485 -485
  34. package/dist/tools/git-commits.js +735 -735
  35. package/dist/tools/git-commits.js.map +1 -1
  36. package/dist/tools/git-config.d.ts +140 -140
  37. package/dist/tools/git-config.js +268 -268
  38. package/dist/tools/git-files.d.ts +486 -486
  39. package/dist/tools/git-files.js +607 -607
  40. package/dist/tools/git-files.js.map +1 -1
  41. package/dist/tools/git-issues.d.ts +574 -571
  42. package/dist/tools/git-issues.d.ts.map +1 -1
  43. package/dist/tools/git-issues.js +741 -740
  44. package/dist/tools/git-issues.js.map +1 -1
  45. package/dist/tools/git-pulls.d.ts +697 -694
  46. package/dist/tools/git-pulls.d.ts.map +1 -1
  47. package/dist/tools/git-pulls.js +733 -732
  48. package/dist/tools/git-pulls.js.map +1 -1
  49. package/dist/tools/git-releases.d.ts +490 -487
  50. package/dist/tools/git-releases.d.ts.map +1 -1
  51. package/dist/tools/git-releases.js +558 -557
  52. package/dist/tools/git-releases.js.map +1 -1
  53. package/dist/tools/git-remote.d.ts +138 -138
  54. package/dist/tools/git-remote.js +274 -274
  55. package/dist/tools/git-repositories.d.ts +483 -483
  56. package/dist/tools/git-repositories.js +640 -640
  57. package/dist/tools/git-repositories.js.map +1 -1
  58. package/dist/tools/git-reset.d.ts +130 -130
  59. package/dist/tools/git-reset.js +223 -223
  60. package/dist/tools/git-revert.d.ts +149 -149
  61. package/dist/tools/git-revert.js +198 -198
  62. package/dist/tools/git-stash.d.ts +140 -140
  63. package/dist/tools/git-stash.js +269 -269
  64. package/dist/tools/git-sync.d.ts +178 -178
  65. package/dist/tools/git-sync.js +312 -312
  66. package/dist/tools/git-tags.d.ts +414 -411
  67. package/dist/tools/git-tags.d.ts.map +1 -1
  68. package/dist/tools/git-tags.js +486 -485
  69. package/dist/tools/git-tags.js.map +1 -1
  70. package/dist/tools/git-webhooks.d.ts +473 -470
  71. package/dist/tools/git-webhooks.d.ts.map +1 -1
  72. package/dist/tools/git-webhooks.js +544 -543
  73. package/dist/tools/git-webhooks.js.map +1 -1
  74. package/dist/utils/terminal-controller.d.ts +80 -80
  75. package/dist/utils/terminal-controller.js +345 -345
  76. package/dist/utils/user-detection.d.ts +24 -24
  77. package/dist/utils/user-detection.js +53 -53
  78. package/package.json +2 -2
  79. package/dist/tools/gh-actions.d.ts +0 -253
  80. package/dist/tools/gh-actions.d.ts.map +0 -1
  81. package/dist/tools/gh-actions.js +0 -390
  82. package/dist/tools/gh-actions.js.map +0 -1
  83. package/dist/tools/gh-analytics.d.ts +0 -264
  84. package/dist/tools/gh-analytics.d.ts.map +0 -1
  85. package/dist/tools/gh-analytics.js +0 -402
  86. package/dist/tools/gh-analytics.js.map +0 -1
  87. package/dist/tools/gh-code-review.d.ts +0 -305
  88. package/dist/tools/gh-code-review.d.ts.map +0 -1
  89. package/dist/tools/gh-code-review.js +0 -513
  90. package/dist/tools/gh-code-review.js.map +0 -1
  91. package/dist/tools/gh-codespaces.d.ts +0 -139
  92. package/dist/tools/gh-codespaces.d.ts.map +0 -1
  93. package/dist/tools/gh-codespaces.js +0 -283
  94. package/dist/tools/gh-codespaces.js.map +0 -1
  95. package/dist/tools/gh-deployments.d.ts +0 -301
  96. package/dist/tools/gh-deployments.d.ts.map +0 -1
  97. package/dist/tools/gh-deployments.js +0 -368
  98. package/dist/tools/gh-deployments.js.map +0 -1
  99. package/dist/tools/gh-gists.d.ts +0 -175
  100. package/dist/tools/gh-gists.d.ts.map +0 -1
  101. package/dist/tools/gh-gists.js +0 -322
  102. package/dist/tools/gh-gists.js.map +0 -1
  103. package/dist/tools/gh-projects.d.ts +0 -206
  104. package/dist/tools/gh-projects.d.ts.map +0 -1
  105. package/dist/tools/gh-projects.js +0 -359
  106. package/dist/tools/gh-projects.js.map +0 -1
  107. package/dist/tools/gh-security.d.ts +0 -275
  108. package/dist/tools/gh-security.d.ts.map +0 -1
  109. package/dist/tools/gh-security.js +0 -396
  110. package/dist/tools/gh-security.js.map +0 -1
  111. package/dist/tools/gh-sync.d.ts +0 -214
  112. package/dist/tools/gh-sync.d.ts.map +0 -1
  113. package/dist/tools/gh-sync.js +0 -379
  114. package/dist/tools/gh-sync.js.map +0 -1
  115. package/dist/tools/gh-workflows.d.ts +0 -291
  116. package/dist/tools/gh-workflows.d.ts.map +0 -1
  117. package/dist/tools/gh-workflows.js +0 -433
  118. package/dist/tools/gh-workflows.js.map +0 -1
  119. package/dist/tools/git-bundle.d.ts +0 -172
  120. package/dist/tools/git-bundle.d.ts.map +0 -1
  121. package/dist/tools/git-bundle.js +0 -242
  122. package/dist/tools/git-bundle.js.map +0 -1
  123. package/dist/tools/git-cherry-pick.d.ts +0 -159
  124. package/dist/tools/git-cherry-pick.d.ts.map +0 -1
  125. package/dist/tools/git-cherry-pick.js +0 -225
  126. package/dist/tools/git-cherry-pick.js.map +0 -1
  127. package/dist/tools/git-rebase.d.ts +0 -138
  128. package/dist/tools/git-rebase.d.ts.map +0 -1
  129. package/dist/tools/git-rebase.js +0 -214
  130. package/dist/tools/git-rebase.js.map +0 -1
  131. package/dist/tools/git-submodule.d.ts +0 -153
  132. package/dist/tools/git-submodule.d.ts.map +0 -1
  133. package/dist/tools/git-submodule.js +0 -290
  134. package/dist/tools/git-submodule.js.map +0 -1
  135. package/dist/tools/git-worktree.d.ts +0 -160
  136. package/dist/tools/git-worktree.d.ts.map +0 -1
  137. package/dist/tools/git-worktree.js +0 -270
  138. package/dist/tools/git-worktree.js.map +0 -1
  139. package/dist/tools/repositories.d.ts +0 -406
  140. package/dist/tools/repositories.d.ts.map +0 -1
  141. package/dist/tools/repositories.js +0 -570
  142. package/dist/tools/repositories.js.map +0 -1
  143. package/dist/tools/users.d.ts +0 -373
  144. package/dist/tools/users.d.ts.map +0 -1
  145. package/dist/tools/users.js +0 -500
  146. package/dist/tools/users.js.map +0 -1
  147. package/dist/tools/validator.d.ts +0 -171
  148. package/dist/tools/validator.d.ts.map +0 -1
  149. package/dist/tools/validator.js +0 -195
  150. package/dist/tools/validator.js.map +0 -1
  151. package/dist/tools/version-control.d.ts +0 -137
  152. package/dist/tools/version-control.d.ts.map +0 -1
  153. package/dist/tools/version-control.js +0 -165
  154. package/dist/tools/version-control.js.map +0 -1
@@ -1,500 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.usersTool = void 0;
4
- const zod_1 = require("zod");
5
- const index_js_1 = require("../providers/index.js");
6
- /**
7
- * Tool: users
8
- *
9
- * DESCRIÇÃO:
10
- * Gerenciamento de usuários com suporte multi-provider (GitHub e Gitea)
11
- *
12
- * FUNCIONALIDADES:
13
- * - Obtenção de usuário atual
14
- * - Obtenção de usuário específico
15
- * - Busca de usuários
16
- * - Listagem de organizações
17
- * - Listagem de repositórios
18
- * - Informações de perfil
19
- *
20
- * USO:
21
- * - Para autenticação e perfil
22
- * - Para busca de usuários
23
- * - Para gerenciamento de acesso
24
- * - Para colaboração
25
- *
26
- * RECOMENDAÇÕES:
27
- * - Use apenas permissões necessárias
28
- * - Evite expor dados sensíveis
29
- * - Monitore uso da API
30
- * - Respeite limites de rate
31
- */
32
- /**
33
- * Schema de validação para entrada da tool users
34
- *
35
- * VALIDAÇÕES:
36
- * - action: Ação obrigatória (get, list, search, orgs, repos)
37
- * - Parâmetros específicos por ação
38
- * - Validação de tipos e formatos
39
- *
40
- * RECOMENDAÇÕES:
41
- * - Sempre valide entrada antes de usar
42
- * - Use parâmetros opcionais adequadamente
43
- * - Documente parâmetros obrigatórios
44
- */
45
- const UsersInputSchema = zod_1.z.object({
46
- action: zod_1.z.enum(['get', 'list', 'search', 'orgs', 'repos']),
47
- // Para multi-provider
48
- provider: zod_1.z.enum(['gitea', 'github', 'both']), // Provider específico: gitea, github ou both
49
- // Para get específico
50
- username: zod_1.z.string().optional(),
51
- // Para search
52
- query: zod_1.z.string().optional(),
53
- page: zod_1.z.number().min(1).optional(),
54
- limit: zod_1.z.number().min(1).max(100).optional(),
55
- // Para repos
56
- repo_type: zod_1.z.enum(['all', 'owner', 'member', 'collaborator']).optional(),
57
- sort: zod_1.z.enum(['created', 'updated', 'pushed', 'full_name']).optional(),
58
- direction: zod_1.z.enum(['asc', 'desc']).optional(),
59
- });
60
- /**
61
- * Schema de saída padronizado
62
- *
63
- * ESTRUTURA:
64
- * - success: Status da operação
65
- * - action: Ação executada
66
- * - message: Mensagem descritiva
67
- * - data: Dados retornados (opcional)
68
- * - error: Detalhes do erro (opcional)
69
- */
70
- const UsersResultSchema = zod_1.z.object({
71
- success: zod_1.z.boolean(),
72
- action: zod_1.z.string(),
73
- message: zod_1.z.string(),
74
- data: zod_1.z.any().optional(),
75
- error: zod_1.z.string().optional()
76
- });
77
- /**
78
- * Tool: users
79
- *
80
- * DESCRIÇÃO:
81
- * Gerenciamento completo de usuários Gitea com múltiplas ações
82
- *
83
- * ACTIONS DISPONÍVEIS:
84
- *
85
- * 1. get - Obter informações de usuário
86
- * Parâmetros:
87
- * - username (opcional): Nome de usuário específico (se não fornecido, usa usuário atual das env vars)
88
- *
89
- * 2. list - Listar usuários
90
- * Parâmetros:
91
- * - page (opcional): Página da listagem (padrão: 1)
92
- * - limit (opcional): Itens por página (padrão: 30, máximo: 100)
93
- *
94
- * 3. search - Buscar usuários
95
- * Parâmetros:
96
- * - query (obrigatório): Termo de busca
97
- * - page (opcional): Página da busca (padrão: 1)
98
- * - limit (opcional): Itens por página (padrão: 30, máximo: 100)
99
- *
100
- * 4. orgs - Obter organizações do usuário
101
- * Parâmetros:
102
- * - username (obrigatório): Nome de usuário
103
- * - page (opcional): Página da listagem (padrão: 1)
104
- * - limit (opcional): Itens por página (padrão: 30, máximo: 100)
105
- *
106
- * 5. repos - Listar repositórios do usuário
107
- * Parâmetros:
108
- * - username (obrigatório): Nome de usuário
109
- * - repo_type (opcional): Tipo de repositório (all, owner, member, collaborator) - padrão: all
110
- * - sort (opcional): Ordenação (created, updated, pushed, full_name) - padrão: created
111
- * - direction (opcional): Direção (asc, desc) - padrão: desc
112
- * - page (opcional): Página da listagem (padrão: 1)
113
- * - limit (opcional): Itens por página (padrão: 30, máximo: 100)
114
- *
115
- * RECOMENDAÇÕES DE USO:
116
- * - Respeite privacidade dos usuários
117
- * - Use apenas para operações necessárias
118
- * - Monitore uso de permissões
119
- * - Mantenha logs de acesso
120
- * - Use filtros adequados para listagens
121
- * - Verifique permissões antes de acessar dados
122
- */
123
- exports.usersTool = {
124
- name: 'users',
125
- description: 'Manage users with multi-provider support (GitHub and Gitea): get, list, search, orgs, repos. Dicas (solo): útil para automações pessoais, conferência rápida de acesso e organizações; use apenas permissões necessárias e evite expor dados sensíveis.',
126
- inputSchema: {
127
- type: 'object',
128
- properties: {
129
- action: {
130
- type: 'string',
131
- enum: ['get', 'list', 'search', 'orgs', 'repos'],
132
- description: 'Action to perform on users'
133
- },
134
- provider: { type: 'string', description: 'Provider to use (github, gitea, or omit for default)' },
135
- username: { type: 'string', description: 'Username (optional - if not provided, uses current user from env vars)' },
136
- query: { type: 'string', description: 'Search query' },
137
- page: { type: 'number', description: 'Page number', minimum: 1 },
138
- limit: { type: 'number', description: 'Items per page', minimum: 1, maximum: 100 },
139
- repo_type: { type: 'string', enum: ['all', 'owner', 'member', 'collaborator'], description: 'Repository type filter' },
140
- sort: { type: 'string', enum: ['created', 'updated', 'pushed', 'full_name'], description: 'Sort order' },
141
- direction: { type: 'string', enum: ['asc', 'desc'], description: 'Sort direction' }
142
- },
143
- required: ['action', 'provider']
144
- },
145
- /**
146
- * Handler principal da tool users
147
- *
148
- * FUNCIONALIDADE:
149
- * - Valida entrada usando Zod schema
150
- * - Roteia para método específico baseado na ação
151
- * - Trata erros de forma uniforme
152
- * - Retorna resultado padronizado
153
- *
154
- * FLUXO:
155
- * 1. Validação de entrada
156
- * 2. Seleção do provider
157
- * 3. Roteamento por ação
158
- * 4. Execução do método específico
159
- * 5. Tratamento de erros
160
- * 6. Retorno de resultado
161
- *
162
- * TRATAMENTO DE ERROS:
163
- * - Validação: erro de schema
164
- * - Execução: erro da operação
165
- * - Roteamento: ação não suportada
166
- *
167
- * RECOMENDAÇÕES:
168
- * - Sempre valide entrada antes de processar
169
- * - Trate erros específicos adequadamente
170
- * - Log detalhes de erro para debug
171
- * - Retorne mensagens de erro úteis
172
- */
173
- async handler(input) {
174
- try {
175
- const validatedInput = UsersInputSchema.parse(input);
176
- // Seleciona o provider baseado na entrada ou usa o padrão
177
- const provider = validatedInput.provider
178
- ? index_js_1.globalProviderFactory.getProvider(validatedInput.provider)
179
- : index_js_1.globalProviderFactory.getDefaultProvider();
180
- if (!provider) {
181
- throw new Error('Provider não encontrado ou não configurado');
182
- }
183
- switch (validatedInput.action) {
184
- case 'get':
185
- return await this.getUser(validatedInput, provider);
186
- case 'list':
187
- return await this.listUsers(validatedInput, provider);
188
- case 'search':
189
- return await this.searchUsers(validatedInput, provider);
190
- case 'orgs':
191
- return await this.getUserOrganizations(validatedInput, provider);
192
- case 'repos':
193
- return await this.getUserRepositories(validatedInput, provider);
194
- default:
195
- throw new Error(`Ação não suportada: ${validatedInput.action}`);
196
- }
197
- }
198
- catch (error) {
199
- return {
200
- success: false,
201
- action: input.action,
202
- message: 'Erro na operação de usuários',
203
- error: error instanceof Error ? error.message : String(error)
204
- };
205
- }
206
- },
207
- /**
208
- * Obtém informações de um usuário específico
209
- *
210
- * FUNCIONALIDADE:
211
- * - Retorna informações completas do usuário
212
- * - Suporta usuário atual ou específico
213
- * - Inclui perfil, estatísticas e metadados
214
- *
215
- * PARÂMETROS OBRIGATÓRIOS:
216
- * - Nenhum (usa usuário atual das variáveis de ambiente)
217
- *
218
- * PARÂMETROS OPCIONAIS:
219
- * - username: Nome de usuário específico (se não fornecido, usa usuário atual das env vars)
220
- *
221
- * VALIDAÇÕES:
222
- * - Username deve existir se fornecido
223
- * - Usuário deve ter permissão de acesso
224
- * - Usuário deve existir (se username fornecido)
225
- * - Usuário deve ter permissão de acesso
226
- *
227
- * RECOMENDAÇÕES:
228
- * - Use para obter informações de perfil
229
- * - Verifique permissões antes de acessar
230
- * - Respeite configurações de privacidade
231
- * - Monitore uso de dados sensíveis
232
- */
233
- async getUser(params, provider) {
234
- try {
235
- let user;
236
- let message;
237
- if (params.username) {
238
- // Obter usuário específico
239
- user = await provider.getUser(params.username);
240
- message = `Usuário '${params.username}' obtido com sucesso`;
241
- }
242
- else {
243
- // Usar usuário atual das variáveis de ambiente
244
- user = await provider.getCurrentUser();
245
- message = 'Usuário atual obtido com sucesso (das variáveis de ambiente)';
246
- }
247
- return {
248
- success: true,
249
- action: 'get',
250
- message,
251
- data: user
252
- };
253
- }
254
- catch (error) {
255
- throw new Error(`Falha ao obter usuário: ${error instanceof Error ? error.message : String(error)}`);
256
- }
257
- },
258
- /**
259
- * Lista usuários do sistema
260
- *
261
- * FUNCIONALIDADE:
262
- * - Lista usuários com paginação
263
- * - Retorna informações básicas de cada usuário
264
- * - Suporta filtros de paginação
265
- *
266
- * PARÂMETROS OPCIONAIS:
267
- * - page: Página da listagem (padrão: 1)
268
- * - limit: Itens por página (padrão: 30, máximo: 100)
269
- *
270
- * VALIDAÇÕES:
271
- * - Page deve ser >= 1
272
- * - Limit deve ser entre 1 e 100
273
- * - Usuário deve ter permissão de listagem
274
- *
275
- * RECOMENDAÇÕES:
276
- * - Use paginação para sistemas grandes
277
- * - Monitore número total de usuários
278
- * - Verifique permissões de acesso
279
- * - Mantenha logs de listagem
280
- */
281
- async listUsers(params, provider) {
282
- try {
283
- const page = params.page || 1;
284
- const limit = params.limit || 30;
285
- // Listar usuários do sistema
286
- const users = await provider.listUsers(page, limit);
287
- return {
288
- success: true,
289
- action: 'list',
290
- message: `${users.length} usuários listados com sucesso`,
291
- data: {
292
- users,
293
- page,
294
- limit,
295
- total: users.length
296
- }
297
- };
298
- }
299
- catch (error) {
300
- throw new Error(`Falha ao listar usuários: ${error instanceof Error ? error.message : String(error)}`);
301
- }
302
- },
303
- /**
304
- * Busca usuários por critérios específicos
305
- *
306
- * FUNCIONALIDADE:
307
- * - Busca usuários por nome ou email
308
- * - Suporta paginação
309
- * - Retorna resultados relevantes
310
- *
311
- * PARÂMETROS OBRIGATÓRIOS:
312
- * - query: Termo de busca
313
- *
314
- * PARÂMETROS OPCIONAIS:
315
- * - page: Página da busca (padrão: 1)
316
- * - limit: Itens por página (padrão: 30, máximo: 100)
317
- *
318
- * VALIDAÇÕES:
319
- * - Query deve ser fornecido
320
- * - Query deve ter pelo menos 3 caracteres
321
- * - Usuário deve ter permissão de busca
322
- *
323
- * RECOMENDAÇÕES:
324
- * - Use termos de busca específicos
325
- * - Combine com filtros de paginação
326
- * - Analise relevância dos resultados
327
- * - Respeite configurações de privacidade
328
- */
329
- async searchUsers(params, provider) {
330
- try {
331
- if (!params.query) {
332
- throw new Error('Query é obrigatória');
333
- }
334
- if (params.query.length < 3) {
335
- throw new Error('Query deve ter pelo menos 3 caracteres');
336
- }
337
- const page = params.page || 1;
338
- const limit = params.limit || 30;
339
- try {
340
- const users = await provider.searchUsers(params.query, page, limit);
341
- return {
342
- success: true,
343
- action: 'search',
344
- message: `${users.length} usuários encontrados para '${params.query}'`,
345
- data: {
346
- users,
347
- query: params.query,
348
- page,
349
- limit,
350
- total: users.length
351
- }
352
- };
353
- }
354
- catch (error) {
355
- // Se houver erro específico no provider, retornar resultado vazio
356
- if (error.message && (error.message.includes('data.map') || error.message.includes('not a function'))) {
357
- console.warn('[USERS] Busca não suportada pelo provider, retornando lista vazia');
358
- return {
359
- success: true,
360
- action: 'search',
361
- message: `Busca de usuários não suportada pelo provider atual`,
362
- data: {
363
- users: [],
364
- query: params.query,
365
- page,
366
- limit,
367
- total: 0,
368
- note: 'Funcionalidade não suportada pelo provider'
369
- }
370
- };
371
- }
372
- throw error;
373
- }
374
- }
375
- catch (error) {
376
- throw new Error(`Falha ao buscar usuários: ${error instanceof Error ? error.message : String(error)}`);
377
- }
378
- },
379
- /**
380
- * Obtém organizações de um usuário específico
381
- *
382
- * FUNCIONALIDADE:
383
- * - Lista organizações do usuário
384
- * - Suporta paginação
385
- * - Retorna informações básicas das organizações
386
- *
387
- * PARÂMETROS OBRIGATÓRIOS:
388
- * - username: Nome de usuário
389
- *
390
- * PARÂMETROS OPCIONAIS:
391
- * - page: Página da listagem (padrão: 1)
392
- * - limit: Itens por página (padrão: 30, máximo: 100)
393
- *
394
- * VALIDAÇÕES:
395
- * - Username deve ser fornecido
396
- * - Usuário deve existir
397
- * - Usuário deve ter permissão de acesso
398
- *
399
- * RECOMENDAÇÕES:
400
- * - Use para gerenciar membros de organizações
401
- * - Verifique permissões antes de acessar
402
- * - Monitore acesso a dados organizacionais
403
- * - Mantenha logs de consulta
404
- */
405
- async getUserOrganizations(params, provider) {
406
- try {
407
- // Se não fornecer username, usar o usuário atual das variáveis de ambiente
408
- const username = params.username || await this.getCurrentUsername(provider);
409
- const page = params.page || 1;
410
- const limit = params.limit || 30;
411
- // Obter organizações do usuário
412
- const organizations = await provider.getUserOrganizations(username, page, limit);
413
- return {
414
- success: true,
415
- action: 'orgs',
416
- message: `${organizations.length} organizações encontradas para '${username}'`,
417
- data: {
418
- username,
419
- organizations,
420
- page,
421
- limit,
422
- total: organizations.length
423
- }
424
- };
425
- }
426
- catch (error) {
427
- throw new Error(`Falha ao obter organizações do usuário: ${error instanceof Error ? error.message : String(error)}`);
428
- }
429
- },
430
- /**
431
- * Obtém o nome de usuário atual das variáveis de ambiente baseado no provider
432
- */
433
- async getCurrentUsername(provider) {
434
- // Obter informações do usuário atual para extrair o username
435
- const currentUser = await provider.getCurrentUser();
436
- return currentUser.login;
437
- },
438
- /**
439
- * Lista repositórios de um usuário específico
440
- *
441
- * FUNCIONALIDADE:
442
- * - Lista repositórios com filtros
443
- * - Suporta diferentes tipos de repositório
444
- * - Permite ordenação e paginação
445
- *
446
- * PARÂMETROS OBRIGATÓRIOS:
447
- * - Nenhum (usa usuário atual das variáveis de ambiente)
448
- *
449
- * PARÂMETROS OPCIONAIS:
450
- * - username: Nome de usuário específico (se não fornecido, usa usuário atual das env vars)
451
- * - repo_type: Tipo de repositório (all, owner, member, collaborator) - padrão: all
452
- * - sort: Ordenação (created, updated, pushed, full_name) - padrão: created
453
- * - direction: Direção (asc, desc) - padrão: desc
454
- * - page: Página da listagem (padrão: 1)
455
- * - limit: Itens por página (padrão: 30, máximo: 100)
456
- *
457
- * VALIDAÇÕES:
458
- * - Username deve ser fornecido
459
- * - Usuário deve existir
460
- * - Usuário deve ter permissão de acesso
461
- *
462
- * RECOMENDAÇÕES:
463
- * - Use filtros adequados para organização
464
- * - Monitore acesso a repositórios
465
- * - Verifique permissões antes de listar
466
- * - Mantenha logs de consulta
467
- */
468
- async getUserRepositories(params, provider) {
469
- try {
470
- // Se não fornecer username, usar o usuário atual das variáveis de ambiente
471
- const username = params.username || await this.getCurrentUsername(provider);
472
- const repoType = params.repo_type || 'all';
473
- const sort = params.sort || 'created';
474
- const direction = params.direction || 'desc';
475
- const page = params.page || 1;
476
- const limit = params.limit || 30;
477
- // Obter repositórios do usuário
478
- const repositories = await provider.getUserRepositories(username, page, limit);
479
- return {
480
- success: true,
481
- action: 'repos',
482
- message: `${repositories.length} repositórios encontrados para '${username}'`,
483
- data: {
484
- username,
485
- repositories,
486
- repo_type: repoType,
487
- sort,
488
- direction,
489
- page,
490
- limit,
491
- total: repositories.length
492
- }
493
- };
494
- }
495
- catch (error) {
496
- throw new Error(`Falha ao obter repositórios do usuário: ${error instanceof Error ? error.message : String(error)}`);
497
- }
498
- }
499
- };
500
- //# sourceMappingURL=users.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/tools/users.ts"],"names":[],"mappings":"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"}
@@ -1,171 +0,0 @@
1
- import { z } from 'zod';
2
- /**
3
- * Validador comum para todas as tools
4
- * Fornece schemas e métodos de validação padronizados
5
- */
6
- export declare const CommonSchemas: {
7
- username: z.ZodOptional<z.ZodString>;
8
- repo: z.ZodString;
9
- provider: z.ZodEnum<["gitea", "github", "both"]>;
10
- page: z.ZodOptional<z.ZodNumber>;
11
- limit: z.ZodOptional<z.ZodNumber>;
12
- shortString: z.ZodOptional<z.ZodString>;
13
- mediumString: z.ZodOptional<z.ZodString>;
14
- longString: z.ZodOptional<z.ZodString>;
15
- branch: z.ZodOptional<z.ZodString>;
16
- tag: z.ZodOptional<z.ZodString>;
17
- sha: z.ZodOptional<z.ZodString>;
18
- filePath: z.ZodOptional<z.ZodString>;
19
- url: z.ZodOptional<z.ZodString>;
20
- issueState: z.ZodOptional<z.ZodEnum<["open", "closed", "all"]>>;
21
- prState: z.ZodOptional<z.ZodEnum<["open", "closed", "merged", "all"]>>;
22
- stringArray: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
23
- boolean: z.ZodOptional<z.ZodBoolean>;
24
- positiveNumber: z.ZodOptional<z.ZodNumber>;
25
- issueNumber: z.ZodOptional<z.ZodNumber>;
26
- mergeMethod: z.ZodOptional<z.ZodEnum<["merge", "rebase", "squash"]>>;
27
- syncDirection: z.ZodOptional<z.ZodEnum<["one-way", "two-way"]>>;
28
- syncStrategy: z.ZodOptional<z.ZodEnum<["source-wins", "timestamp", "skip-conflicts"]>>;
29
- };
30
- export declare const RepositorySchemas: {
31
- source: z.ZodOptional<z.ZodObject<{
32
- provider: z.ZodEnum<["gitea", "github"]>;
33
- repo: z.ZodString;
34
- }, "strip", z.ZodTypeAny, {
35
- provider: "gitea" | "github";
36
- repo: string;
37
- }, {
38
- provider: "gitea" | "github";
39
- repo: string;
40
- }>>;
41
- target: z.ZodOptional<z.ZodObject<{
42
- provider: z.ZodEnum<["gitea", "github"]>;
43
- repo: z.ZodString;
44
- }, "strip", z.ZodTypeAny, {
45
- provider: "gitea" | "github";
46
- repo: string;
47
- }, {
48
- provider: "gitea" | "github";
49
- repo: string;
50
- }>>;
51
- };
52
- export declare class ToolValidator {
53
- /**
54
- * Valida se pelo menos um dos campos obrigatórios está presente
55
- */
56
- static requireOneOf<T>(data: T, fields: (keyof T)[], errorMessage?: string): void;
57
- /**
58
- * Valida se todos os campos de um grupo estão presentes ou ausentes
59
- */
60
- static requireAllOrNone<T>(data: T, fields: (keyof T)[], errorMessage?: string): void;
61
- /**
62
- * Valida formato de versão semântica
63
- */
64
- static validateSemVer(version: string): boolean;
65
- /**
66
- * Valida nome de branch Git
67
- */
68
- static validateBranchName(branch: string): boolean;
69
- /**
70
- * Valida nome de arquivo/path
71
- */
72
- static validateFilePath(path: string): boolean;
73
- /**
74
- * Sanitiza entrada de texto removendo caracteres perigosos
75
- */
76
- static sanitizeText(text: string): string;
77
- /**
78
- * Valida e sanitiza parâmetros de entrada de uma tool
79
- */
80
- static validateAndSanitize<T>(data: T, schema: z.ZodSchema<T>): T;
81
- /**
82
- * Sanitiza recursivamente um objeto
83
- */
84
- private static sanitizeObject;
85
- /**
86
- * Cria um schema base para tools com parâmetros comuns
87
- */
88
- static createBaseToolSchema(additionalFields?: Record<string, z.ZodTypeAny>): z.ZodObject<{
89
- repo: z.ZodString;
90
- provider: z.ZodEnum<["gitea", "github", "both"]>;
91
- page: z.ZodOptional<z.ZodNumber>;
92
- limit: z.ZodOptional<z.ZodNumber>;
93
- }, "strip", z.ZodTypeAny, {
94
- provider: "gitea" | "github" | "both";
95
- repo: string;
96
- page?: number | undefined;
97
- limit?: number | undefined;
98
- }, {
99
- provider: "gitea" | "github" | "both";
100
- repo: string;
101
- page?: number | undefined;
102
- limit?: number | undefined;
103
- }>;
104
- }
105
- export declare const ToolSchemas: {
106
- repositoryOperation: z.ZodObject<{
107
- repo: z.ZodString;
108
- provider: z.ZodEnum<["gitea", "github", "both"]>;
109
- page: z.ZodOptional<z.ZodNumber>;
110
- limit: z.ZodOptional<z.ZodNumber>;
111
- }, "strip", z.ZodTypeAny, {
112
- provider: "gitea" | "github" | "both";
113
- repo: string;
114
- page?: number | undefined;
115
- limit?: number | undefined;
116
- }, {
117
- provider: "gitea" | "github" | "both";
118
- repo: string;
119
- page?: number | undefined;
120
- limit?: number | undefined;
121
- }>;
122
- fileOperation: z.ZodObject<{
123
- repo: z.ZodString;
124
- provider: z.ZodEnum<["gitea", "github", "both"]>;
125
- page: z.ZodOptional<z.ZodNumber>;
126
- limit: z.ZodOptional<z.ZodNumber>;
127
- }, "strip", z.ZodTypeAny, {
128
- provider: "gitea" | "github" | "both";
129
- repo: string;
130
- page?: number | undefined;
131
- limit?: number | undefined;
132
- }, {
133
- provider: "gitea" | "github" | "both";
134
- repo: string;
135
- page?: number | undefined;
136
- limit?: number | undefined;
137
- }>;
138
- issueOperation: z.ZodObject<{
139
- repo: z.ZodString;
140
- provider: z.ZodEnum<["gitea", "github", "both"]>;
141
- page: z.ZodOptional<z.ZodNumber>;
142
- limit: z.ZodOptional<z.ZodNumber>;
143
- }, "strip", z.ZodTypeAny, {
144
- provider: "gitea" | "github" | "both";
145
- repo: string;
146
- page?: number | undefined;
147
- limit?: number | undefined;
148
- }, {
149
- provider: "gitea" | "github" | "both";
150
- repo: string;
151
- page?: number | undefined;
152
- limit?: number | undefined;
153
- }>;
154
- branchOperation: z.ZodObject<{
155
- repo: z.ZodString;
156
- provider: z.ZodEnum<["gitea", "github", "both"]>;
157
- page: z.ZodOptional<z.ZodNumber>;
158
- limit: z.ZodOptional<z.ZodNumber>;
159
- }, "strip", z.ZodTypeAny, {
160
- provider: "gitea" | "github" | "both";
161
- repo: string;
162
- page?: number | undefined;
163
- limit?: number | undefined;
164
- }, {
165
- provider: "gitea" | "github" | "both";
166
- repo: string;
167
- page?: number | undefined;
168
- limit?: number | undefined;
169
- }>;
170
- };
171
- //# sourceMappingURL=validator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/tools/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AAGH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;CA0CzB,CAAC;AAGF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;CAU7B,CAAC;AAGF,qBAAa,aAAa;IACxB;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI;IAOjF;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI;IAOrF;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAK/C;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAelD;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAM9C;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAOzC;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;IAkBjE;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAoB7B;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,gBAAgB,GAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAM;;;;;;;;;;;;;;;;CAShF;AAGD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BvB,CAAC"}