@andrebuzeli/git-mcp 2.28.1 → 2.29.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 (188) 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 +74 -50
  10. package/dist/providers/error-handler.d.ts.map +1 -1
  11. package/dist/providers/error-handler.js +234 -175
  12. package/dist/providers/error-handler.js.map +1 -1
  13. package/dist/providers/gitea-provider.d.ts +97 -97
  14. package/dist/providers/gitea-provider.d.ts.map +1 -1
  15. package/dist/providers/gitea-provider.js +1015 -1001
  16. package/dist/providers/gitea-provider.js.map +1 -1
  17. package/dist/providers/github-provider.d.ts +104 -104
  18. package/dist/providers/github-provider.d.ts.map +1 -1
  19. package/dist/providers/github-provider.js +1248 -1234
  20. package/dist/providers/github-provider.js.map +1 -1
  21. package/dist/providers/index.d.ts +12 -12
  22. package/dist/providers/index.js +40 -40
  23. package/dist/providers/provider-factory.d.ts +74 -74
  24. package/dist/providers/provider-factory.d.ts.map +1 -1
  25. package/dist/providers/provider-factory.js +318 -311
  26. package/dist/providers/provider-factory.js.map +1 -1
  27. package/dist/providers/types.d.ts +318 -318
  28. package/dist/providers/types.js +6 -6
  29. package/dist/server.d.ts +76 -76
  30. package/dist/server.js +306 -306
  31. package/dist/server.js.map +1 -1
  32. package/dist/tools/git-archive.d.ts +169 -165
  33. package/dist/tools/git-archive.d.ts.map +1 -1
  34. package/dist/tools/git-archive.js +246 -233
  35. package/dist/tools/git-archive.js.map +1 -1
  36. package/dist/tools/git-branches.d.ts +434 -430
  37. package/dist/tools/git-branches.d.ts.map +1 -1
  38. package/dist/tools/git-branches.js +640 -627
  39. package/dist/tools/git-branches.js.map +1 -1
  40. package/dist/tools/git-commits.d.ts +489 -485
  41. package/dist/tools/git-commits.d.ts.map +1 -1
  42. package/dist/tools/git-commits.js +748 -735
  43. package/dist/tools/git-commits.js.map +1 -1
  44. package/dist/tools/git-config.d.ts +144 -140
  45. package/dist/tools/git-config.d.ts.map +1 -1
  46. package/dist/tools/git-config.js +281 -268
  47. package/dist/tools/git-config.js.map +1 -1
  48. package/dist/tools/git-files.d.ts +490 -486
  49. package/dist/tools/git-files.d.ts.map +1 -1
  50. package/dist/tools/git-files.js +620 -607
  51. package/dist/tools/git-files.js.map +1 -1
  52. package/dist/tools/git-initialize.d.ts +46 -42
  53. package/dist/tools/git-initialize.d.ts.map +1 -1
  54. package/dist/tools/git-initialize.js +81 -68
  55. package/dist/tools/git-initialize.js.map +1 -1
  56. package/dist/tools/git-issues.d.ts +578 -571
  57. package/dist/tools/git-issues.d.ts.map +1 -1
  58. package/dist/tools/git-issues.js +754 -740
  59. package/dist/tools/git-issues.js.map +1 -1
  60. package/dist/tools/git-pulls.d.ts +701 -694
  61. package/dist/tools/git-pulls.d.ts.map +1 -1
  62. package/dist/tools/git-pulls.js +746 -732
  63. package/dist/tools/git-pulls.js.map +1 -1
  64. package/dist/tools/git-releases.d.ts +494 -487
  65. package/dist/tools/git-releases.d.ts.map +1 -1
  66. package/dist/tools/git-releases.js +571 -557
  67. package/dist/tools/git-releases.js.map +1 -1
  68. package/dist/tools/git-remote.d.ts +142 -138
  69. package/dist/tools/git-remote.d.ts.map +1 -1
  70. package/dist/tools/git-remote.js +287 -274
  71. package/dist/tools/git-remote.js.map +1 -1
  72. package/dist/tools/git-repositories.d.ts +487 -483
  73. package/dist/tools/git-repositories.d.ts.map +1 -1
  74. package/dist/tools/git-repositories.js +653 -640
  75. package/dist/tools/git-repositories.js.map +1 -1
  76. package/dist/tools/git-reset.d.ts +134 -130
  77. package/dist/tools/git-reset.d.ts.map +1 -1
  78. package/dist/tools/git-reset.js +236 -223
  79. package/dist/tools/git-reset.js.map +1 -1
  80. package/dist/tools/git-revert.d.ts +153 -149
  81. package/dist/tools/git-revert.d.ts.map +1 -1
  82. package/dist/tools/git-revert.js +211 -198
  83. package/dist/tools/git-revert.js.map +1 -1
  84. package/dist/tools/git-stash.d.ts +144 -140
  85. package/dist/tools/git-stash.d.ts.map +1 -1
  86. package/dist/tools/git-stash.js +282 -269
  87. package/dist/tools/git-stash.js.map +1 -1
  88. package/dist/tools/git-sync.d.ts +182 -178
  89. package/dist/tools/git-sync.d.ts.map +1 -1
  90. package/dist/tools/git-sync.js +325 -312
  91. package/dist/tools/git-sync.js.map +1 -1
  92. package/dist/tools/git-tags.d.ts +418 -411
  93. package/dist/tools/git-tags.d.ts.map +1 -1
  94. package/dist/tools/git-tags.js +499 -485
  95. package/dist/tools/git-tags.js.map +1 -1
  96. package/dist/tools/git-upload-project.d.ts +5 -1
  97. package/dist/tools/git-upload-project.d.ts.map +1 -1
  98. package/dist/tools/git-upload-project.js +21 -1
  99. package/dist/tools/git-upload-project.js.map +1 -1
  100. package/dist/tools/git-webhooks.d.ts +477 -470
  101. package/dist/tools/git-webhooks.d.ts.map +1 -1
  102. package/dist/tools/git-webhooks.js +561 -543
  103. package/dist/tools/git-webhooks.js.map +1 -1
  104. package/dist/utils/git-error-analyzer.d.ts +64 -0
  105. package/dist/utils/git-error-analyzer.d.ts.map +1 -0
  106. package/dist/utils/git-error-analyzer.js +286 -0
  107. package/dist/utils/git-error-analyzer.js.map +1 -0
  108. package/dist/utils/terminal-controller.d.ts +80 -80
  109. package/dist/utils/terminal-controller.js +345 -345
  110. package/dist/utils/user-detection.d.ts +24 -24
  111. package/dist/utils/user-detection.js +53 -53
  112. package/package.json +2 -2
  113. package/dist/tools/gh-actions.d.ts +0 -253
  114. package/dist/tools/gh-actions.d.ts.map +0 -1
  115. package/dist/tools/gh-actions.js +0 -390
  116. package/dist/tools/gh-actions.js.map +0 -1
  117. package/dist/tools/gh-analytics.d.ts +0 -264
  118. package/dist/tools/gh-analytics.d.ts.map +0 -1
  119. package/dist/tools/gh-analytics.js +0 -402
  120. package/dist/tools/gh-analytics.js.map +0 -1
  121. package/dist/tools/gh-code-review.d.ts +0 -305
  122. package/dist/tools/gh-code-review.d.ts.map +0 -1
  123. package/dist/tools/gh-code-review.js +0 -513
  124. package/dist/tools/gh-code-review.js.map +0 -1
  125. package/dist/tools/gh-codespaces.d.ts +0 -139
  126. package/dist/tools/gh-codespaces.d.ts.map +0 -1
  127. package/dist/tools/gh-codespaces.js +0 -283
  128. package/dist/tools/gh-codespaces.js.map +0 -1
  129. package/dist/tools/gh-deployments.d.ts +0 -301
  130. package/dist/tools/gh-deployments.d.ts.map +0 -1
  131. package/dist/tools/gh-deployments.js +0 -368
  132. package/dist/tools/gh-deployments.js.map +0 -1
  133. package/dist/tools/gh-gists.d.ts +0 -175
  134. package/dist/tools/gh-gists.d.ts.map +0 -1
  135. package/dist/tools/gh-gists.js +0 -322
  136. package/dist/tools/gh-gists.js.map +0 -1
  137. package/dist/tools/gh-projects.d.ts +0 -206
  138. package/dist/tools/gh-projects.d.ts.map +0 -1
  139. package/dist/tools/gh-projects.js +0 -359
  140. package/dist/tools/gh-projects.js.map +0 -1
  141. package/dist/tools/gh-security.d.ts +0 -275
  142. package/dist/tools/gh-security.d.ts.map +0 -1
  143. package/dist/tools/gh-security.js +0 -396
  144. package/dist/tools/gh-security.js.map +0 -1
  145. package/dist/tools/gh-sync.d.ts +0 -214
  146. package/dist/tools/gh-sync.d.ts.map +0 -1
  147. package/dist/tools/gh-sync.js +0 -379
  148. package/dist/tools/gh-sync.js.map +0 -1
  149. package/dist/tools/gh-workflows.d.ts +0 -291
  150. package/dist/tools/gh-workflows.d.ts.map +0 -1
  151. package/dist/tools/gh-workflows.js +0 -433
  152. package/dist/tools/gh-workflows.js.map +0 -1
  153. package/dist/tools/git-bundle.d.ts +0 -172
  154. package/dist/tools/git-bundle.d.ts.map +0 -1
  155. package/dist/tools/git-bundle.js +0 -242
  156. package/dist/tools/git-bundle.js.map +0 -1
  157. package/dist/tools/git-cherry-pick.d.ts +0 -159
  158. package/dist/tools/git-cherry-pick.d.ts.map +0 -1
  159. package/dist/tools/git-cherry-pick.js +0 -225
  160. package/dist/tools/git-cherry-pick.js.map +0 -1
  161. package/dist/tools/git-rebase.d.ts +0 -138
  162. package/dist/tools/git-rebase.d.ts.map +0 -1
  163. package/dist/tools/git-rebase.js +0 -214
  164. package/dist/tools/git-rebase.js.map +0 -1
  165. package/dist/tools/git-submodule.d.ts +0 -153
  166. package/dist/tools/git-submodule.d.ts.map +0 -1
  167. package/dist/tools/git-submodule.js +0 -290
  168. package/dist/tools/git-submodule.js.map +0 -1
  169. package/dist/tools/git-worktree.d.ts +0 -160
  170. package/dist/tools/git-worktree.d.ts.map +0 -1
  171. package/dist/tools/git-worktree.js +0 -270
  172. package/dist/tools/git-worktree.js.map +0 -1
  173. package/dist/tools/repositories.d.ts +0 -406
  174. package/dist/tools/repositories.d.ts.map +0 -1
  175. package/dist/tools/repositories.js +0 -570
  176. package/dist/tools/repositories.js.map +0 -1
  177. package/dist/tools/users.d.ts +0 -373
  178. package/dist/tools/users.d.ts.map +0 -1
  179. package/dist/tools/users.js +0 -500
  180. package/dist/tools/users.js.map +0 -1
  181. package/dist/tools/validator.d.ts +0 -171
  182. package/dist/tools/validator.d.ts.map +0 -1
  183. package/dist/tools/validator.js +0 -195
  184. package/dist/tools/validator.js.map +0 -1
  185. package/dist/tools/version-control.d.ts +0 -137
  186. package/dist/tools/version-control.d.ts.map +0 -1
  187. package/dist/tools/version-control.js +0 -165
  188. 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"}