@andrebuzeli/git-mcp 2.28.0 → 2.28.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client.d.ts +306 -306
- package/dist/client.js +298 -298
- package/dist/config.d.ts +310 -310
- package/dist/config.js +392 -392
- package/dist/index.d.ts +22 -22
- package/dist/index.js +89 -89
- package/dist/providers/base-provider.d.ts +160 -160
- package/dist/providers/base-provider.js +274 -274
- package/dist/providers/error-handler.d.ts +50 -50
- package/dist/providers/error-handler.js +175 -175
- package/dist/providers/gitea-provider.d.ts +97 -97
- package/dist/providers/gitea-provider.d.ts.map +1 -1
- package/dist/providers/gitea-provider.js +1015 -1001
- package/dist/providers/gitea-provider.js.map +1 -1
- package/dist/providers/github-provider.d.ts +104 -104
- package/dist/providers/github-provider.d.ts.map +1 -1
- package/dist/providers/github-provider.js +1248 -1234
- package/dist/providers/github-provider.js.map +1 -1
- package/dist/providers/index.d.ts +12 -12
- package/dist/providers/index.js +40 -40
- package/dist/providers/provider-factory.d.ts +74 -74
- package/dist/providers/provider-factory.d.ts.map +1 -1
- package/dist/providers/provider-factory.js +318 -311
- package/dist/providers/provider-factory.js.map +1 -1
- package/dist/providers/types.d.ts +318 -318
- package/dist/providers/types.js +6 -6
- package/dist/server.d.ts +76 -76
- package/dist/server.js +306 -306
- package/dist/tools/git-archive.d.ts +165 -165
- package/dist/tools/git-archive.js +233 -233
- package/dist/tools/git-branches.d.ts +430 -430
- package/dist/tools/git-branches.js +627 -627
- package/dist/tools/git-commits.d.ts +485 -485
- package/dist/tools/git-commits.js +735 -735
- package/dist/tools/git-commits.js.map +1 -1
- package/dist/tools/git-config.d.ts +140 -140
- package/dist/tools/git-config.js +268 -268
- package/dist/tools/git-files.d.ts +486 -486
- package/dist/tools/git-files.js +607 -607
- package/dist/tools/git-files.js.map +1 -1
- package/dist/tools/git-issues.d.ts +574 -571
- package/dist/tools/git-issues.d.ts.map +1 -1
- package/dist/tools/git-issues.js +741 -740
- package/dist/tools/git-issues.js.map +1 -1
- package/dist/tools/git-pulls.d.ts +697 -694
- package/dist/tools/git-pulls.d.ts.map +1 -1
- package/dist/tools/git-pulls.js +733 -732
- package/dist/tools/git-pulls.js.map +1 -1
- package/dist/tools/git-releases.d.ts +490 -487
- package/dist/tools/git-releases.d.ts.map +1 -1
- package/dist/tools/git-releases.js +558 -557
- package/dist/tools/git-releases.js.map +1 -1
- package/dist/tools/git-remote.d.ts +138 -138
- package/dist/tools/git-remote.js +274 -274
- package/dist/tools/git-repositories.d.ts +483 -483
- package/dist/tools/git-repositories.js +640 -640
- package/dist/tools/git-repositories.js.map +1 -1
- package/dist/tools/git-reset.d.ts +130 -130
- package/dist/tools/git-reset.js +223 -223
- package/dist/tools/git-revert.d.ts +149 -149
- package/dist/tools/git-revert.js +198 -198
- package/dist/tools/git-stash.d.ts +140 -140
- package/dist/tools/git-stash.js +269 -269
- package/dist/tools/git-sync.d.ts +178 -178
- package/dist/tools/git-sync.js +312 -312
- package/dist/tools/git-tags.d.ts +414 -411
- package/dist/tools/git-tags.d.ts.map +1 -1
- package/dist/tools/git-tags.js +486 -485
- package/dist/tools/git-tags.js.map +1 -1
- package/dist/tools/git-webhooks.d.ts +473 -470
- package/dist/tools/git-webhooks.d.ts.map +1 -1
- package/dist/tools/git-webhooks.js +544 -543
- package/dist/tools/git-webhooks.js.map +1 -1
- package/dist/utils/terminal-controller.d.ts +80 -80
- package/dist/utils/terminal-controller.js +345 -345
- package/dist/utils/user-detection.d.ts +24 -24
- package/dist/utils/user-detection.js +53 -53
- package/package.json +2 -2
- package/dist/tools/gh-actions.d.ts +0 -253
- package/dist/tools/gh-actions.d.ts.map +0 -1
- package/dist/tools/gh-actions.js +0 -390
- package/dist/tools/gh-actions.js.map +0 -1
- package/dist/tools/gh-analytics.d.ts +0 -264
- package/dist/tools/gh-analytics.d.ts.map +0 -1
- package/dist/tools/gh-analytics.js +0 -402
- package/dist/tools/gh-analytics.js.map +0 -1
- package/dist/tools/gh-code-review.d.ts +0 -305
- package/dist/tools/gh-code-review.d.ts.map +0 -1
- package/dist/tools/gh-code-review.js +0 -513
- package/dist/tools/gh-code-review.js.map +0 -1
- package/dist/tools/gh-codespaces.d.ts +0 -139
- package/dist/tools/gh-codespaces.d.ts.map +0 -1
- package/dist/tools/gh-codespaces.js +0 -283
- package/dist/tools/gh-codespaces.js.map +0 -1
- package/dist/tools/gh-deployments.d.ts +0 -301
- package/dist/tools/gh-deployments.d.ts.map +0 -1
- package/dist/tools/gh-deployments.js +0 -368
- package/dist/tools/gh-deployments.js.map +0 -1
- package/dist/tools/gh-gists.d.ts +0 -175
- package/dist/tools/gh-gists.d.ts.map +0 -1
- package/dist/tools/gh-gists.js +0 -322
- package/dist/tools/gh-gists.js.map +0 -1
- package/dist/tools/gh-projects.d.ts +0 -206
- package/dist/tools/gh-projects.d.ts.map +0 -1
- package/dist/tools/gh-projects.js +0 -359
- package/dist/tools/gh-projects.js.map +0 -1
- package/dist/tools/gh-security.d.ts +0 -275
- package/dist/tools/gh-security.d.ts.map +0 -1
- package/dist/tools/gh-security.js +0 -396
- package/dist/tools/gh-security.js.map +0 -1
- package/dist/tools/gh-sync.d.ts +0 -214
- package/dist/tools/gh-sync.d.ts.map +0 -1
- package/dist/tools/gh-sync.js +0 -379
- package/dist/tools/gh-sync.js.map +0 -1
- package/dist/tools/gh-workflows.d.ts +0 -291
- package/dist/tools/gh-workflows.d.ts.map +0 -1
- package/dist/tools/gh-workflows.js +0 -433
- package/dist/tools/gh-workflows.js.map +0 -1
- package/dist/tools/git-bundle.d.ts +0 -172
- package/dist/tools/git-bundle.d.ts.map +0 -1
- package/dist/tools/git-bundle.js +0 -242
- package/dist/tools/git-bundle.js.map +0 -1
- package/dist/tools/git-cherry-pick.d.ts +0 -159
- package/dist/tools/git-cherry-pick.d.ts.map +0 -1
- package/dist/tools/git-cherry-pick.js +0 -225
- package/dist/tools/git-cherry-pick.js.map +0 -1
- package/dist/tools/git-rebase.d.ts +0 -138
- package/dist/tools/git-rebase.d.ts.map +0 -1
- package/dist/tools/git-rebase.js +0 -214
- package/dist/tools/git-rebase.js.map +0 -1
- package/dist/tools/git-submodule.d.ts +0 -153
- package/dist/tools/git-submodule.d.ts.map +0 -1
- package/dist/tools/git-submodule.js +0 -290
- package/dist/tools/git-submodule.js.map +0 -1
- package/dist/tools/git-worktree.d.ts +0 -160
- package/dist/tools/git-worktree.d.ts.map +0 -1
- package/dist/tools/git-worktree.js +0 -270
- package/dist/tools/git-worktree.js.map +0 -1
- package/dist/tools/repositories.d.ts +0 -406
- package/dist/tools/repositories.d.ts.map +0 -1
- package/dist/tools/repositories.js +0 -570
- package/dist/tools/repositories.js.map +0 -1
- package/dist/tools/users.d.ts +0 -373
- package/dist/tools/users.d.ts.map +0 -1
- package/dist/tools/users.js +0 -500
- package/dist/tools/users.js.map +0 -1
- package/dist/tools/validator.d.ts +0 -171
- package/dist/tools/validator.d.ts.map +0 -1
- package/dist/tools/validator.js +0 -195
- package/dist/tools/validator.js.map +0 -1
- package/dist/tools/version-control.d.ts +0 -137
- package/dist/tools/version-control.d.ts.map +0 -1
- package/dist/tools/version-control.js +0 -165
- package/dist/tools/version-control.js.map +0 -1
package/dist/tools/users.js
DELETED
|
@@ -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
|
package/dist/tools/users.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/tools/users.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,oDAA6E;AAG7E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IAChC,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAE1D,sBAAsB;IACtB,QAAQ,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,6CAA6C;IAE5F,sBAAsB;IACtB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAE/B,cAAc;IACd,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAClC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAE5C,aAAa;IACb,SAAS,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE;IACxE,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE;IACtE,SAAS,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAC;AAIH;;;;;;;;;GASG;AACH,MAAM,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IACjC,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE;IACpB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,OAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACxB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAIH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACU,QAAA,SAAS,GAAG;IACvB,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,yPAAyP;IACtQ,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC;gBAChD,WAAW,EAAE,4BAA4B;aAC1C;YACD,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sDAAsD,EAAE;YACjG,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wEAAwE,EAAE;YACnH,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;YACtD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,EAAE;YAChE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE;YAClF,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE,WAAW,EAAE,wBAAwB,EAAE;YACtH,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE;YACxG,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE;SACpF;QACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;KACjC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,KAAK,CAAC,OAAO,CAAC,KAAiB;QAC7B,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAErD,0DAA0D;YAC1D,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ;gBACtC,CAAC,CAAC,gCAAqB,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC;gBAC5D,CAAC,CAAC,gCAAqB,CAAC,kBAAkB,EAAE,CAAC;YAE/C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAChE,CAAC;YAED,QAAQ,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC9B,KAAK,KAAK;oBACR,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;gBACtD,KAAK,MAAM;oBACT,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;gBACxD,KAAK,QAAQ;oBACX,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;gBAC1D,KAAK,MAAM;oBACT,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;gBACnE,KAAK,OAAO;oBACV,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;gBAClE;oBACE,MAAM,IAAI,KAAK,CAAC,uBAAuB,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,OAAO,EAAE,8BAA8B;gBACvC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,KAAK,CAAC,OAAO,CAAC,MAAkB,EAAE,QAAuB;QACvD,IAAI,CAAC;YACH,IAAI,IAAI,CAAC;YACT,IAAI,OAAO,CAAC;YAEZ,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,2BAA2B;gBAC3B,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC/C,OAAO,GAAG,YAAY,MAAM,CAAC,QAAQ,sBAAsB,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,+CAA+C;gBAC/C,IAAI,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,CAAC;gBACvC,OAAO,GAAG,8DAA8D,CAAC;YAC3E,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,KAAK;gBACb,OAAO;gBACP,IAAI,EAAE,IAAI;aACX,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACvG,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,KAAK,CAAC,SAAS,CAAC,MAAkB,EAAE,QAAuB;QACzD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;YAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;YAEjC,6BAA6B;YAC7B,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAEpD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,gCAAgC;gBACxD,IAAI,EAAE;oBACJ,KAAK;oBACL,IAAI;oBACJ,KAAK;oBACL,KAAK,EAAE,KAAK,CAAC,MAAM;iBACpB;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzG,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,KAAK,CAAC,WAAW,CAAC,MAAkB,EAAE,QAAuB;QAC3D,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACzC,CAAC;YAED,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAC5D,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;YAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;YAEjC,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBAEpE,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,QAAQ;oBAChB,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,+BAA+B,MAAM,CAAC,KAAK,GAAG;oBACtE,IAAI,EAAE;wBACJ,KAAK;wBACL,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,IAAI;wBACJ,KAAK;wBACL,KAAK,EAAE,KAAK,CAAC,MAAM;qBACpB;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,kEAAkE;gBAClE,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;oBACtG,OAAO,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;oBAClF,OAAO;wBACL,OAAO,EAAE,IAAI;wBACb,MAAM,EAAE,QAAQ;wBAChB,OAAO,EAAE,qDAAqD;wBAC9D,IAAI,EAAE;4BACJ,KAAK,EAAE,EAAE;4BACT,KAAK,EAAE,MAAM,CAAC,KAAK;4BACnB,IAAI;4BACJ,KAAK;4BACL,KAAK,EAAE,CAAC;4BACR,IAAI,EAAE,4CAA4C;yBACnD;qBACF,CAAC;gBACJ,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzG,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,KAAK,CAAC,oBAAoB,CAAC,MAAkB,EAAE,QAAuB;QACpE,IAAI,CAAC;YACH,2EAA2E;YAC3E,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAE5E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;YAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;YAEjC,gCAAgC;YAChC,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAEjF,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,GAAG,aAAa,CAAC,MAAM,mCAAmC,QAAQ,GAAG;gBAC9E,IAAI,EAAE;oBACJ,QAAQ;oBACR,aAAa;oBACb,IAAI;oBACJ,KAAK;oBACL,KAAK,EAAE,aAAa,CAAC,MAAM;iBAC5B;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,2CAA2C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACvH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,QAAuB;QAC9C,6DAA6D;QAC7D,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,CAAC;QACpD,OAAO,WAAW,CAAC,KAAK,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,KAAK,CAAC,mBAAmB,CAAC,MAAkB,EAAE,QAAuB;QACnE,IAAI,CAAC;YACH,2EAA2E;YAC3E,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAE5E,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC;YAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC;YACtC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC;YAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;YAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;YAEjC,gCAAgC;YAChC,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAE/E,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,GAAG,YAAY,CAAC,MAAM,mCAAmC,QAAQ,GAAG;gBAC7E,IAAI,EAAE;oBACJ,QAAQ;oBACR,YAAY;oBACZ,SAAS,EAAE,QAAQ;oBACnB,IAAI;oBACJ,SAAS;oBACT,IAAI;oBACJ,KAAK;oBACL,KAAK,EAAE,YAAY,CAAC,MAAM;iBAC3B;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,2CAA2C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACvH,CAAC;IACH,CAAC;CACF,CAAC"}
|
|
@@ -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"}
|