@andrebuzeli/git-mcp 2.27.4 → 2.28.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 (112) 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 -156
  8. package/dist/providers/base-provider.d.ts.map +1 -1
  9. package/dist/providers/base-provider.js +274 -260
  10. package/dist/providers/base-provider.js.map +1 -1
  11. package/dist/providers/error-handler.d.ts +50 -50
  12. package/dist/providers/error-handler.js +175 -175
  13. package/dist/providers/gitea-provider.d.ts +97 -97
  14. package/dist/providers/gitea-provider.js +1001 -1001
  15. package/dist/providers/github-provider.d.ts +104 -104
  16. package/dist/providers/github-provider.js +1234 -1234
  17. package/dist/providers/index.d.ts +12 -12
  18. package/dist/providers/index.js +40 -40
  19. package/dist/providers/provider-factory.d.ts +74 -74
  20. package/dist/providers/provider-factory.js +311 -311
  21. package/dist/providers/types.d.ts +318 -298
  22. package/dist/providers/types.d.ts.map +1 -1
  23. package/dist/providers/types.js +6 -6
  24. package/dist/server.d.ts +76 -76
  25. package/dist/server.d.ts.map +1 -1
  26. package/dist/server.js +306 -305
  27. package/dist/server.js.map +1 -1
  28. package/dist/tools/gh-actions.d.ts +252 -252
  29. package/dist/tools/gh-actions.js +389 -389
  30. package/dist/tools/gh-analytics.d.ts +263 -263
  31. package/dist/tools/gh-analytics.js +401 -401
  32. package/dist/tools/gh-code-review.d.ts +304 -304
  33. package/dist/tools/gh-code-review.js +512 -512
  34. package/dist/tools/gh-codespaces.d.ts +138 -138
  35. package/dist/tools/gh-codespaces.js +282 -282
  36. package/dist/tools/gh-deployments.d.ts +300 -300
  37. package/dist/tools/gh-deployments.js +367 -367
  38. package/dist/tools/gh-gists.d.ts +174 -174
  39. package/dist/tools/gh-gists.js +321 -321
  40. package/dist/tools/gh-projects.d.ts +205 -205
  41. package/dist/tools/gh-projects.js +358 -358
  42. package/dist/tools/gh-security.d.ts +274 -274
  43. package/dist/tools/gh-security.js +395 -395
  44. package/dist/tools/gh-sync.d.ts +213 -213
  45. package/dist/tools/gh-sync.js +378 -378
  46. package/dist/tools/gh-workflows.d.ts +290 -290
  47. package/dist/tools/gh-workflows.js +432 -432
  48. package/dist/tools/git-archive.d.ts +165 -165
  49. package/dist/tools/git-archive.js +233 -233
  50. package/dist/tools/git-branches.d.ts +430 -430
  51. package/dist/tools/git-branches.d.ts.map +1 -1
  52. package/dist/tools/git-branches.js +627 -530
  53. package/dist/tools/git-branches.js.map +1 -1
  54. package/dist/tools/git-bundle.d.ts +171 -171
  55. package/dist/tools/git-bundle.js +241 -241
  56. package/dist/tools/git-cherry-pick.d.ts +158 -158
  57. package/dist/tools/git-cherry-pick.js +224 -224
  58. package/dist/tools/git-commits.d.ts +485 -485
  59. package/dist/tools/git-commits.d.ts.map +1 -1
  60. package/dist/tools/git-commits.js +735 -625
  61. package/dist/tools/git-commits.js.map +1 -1
  62. package/dist/tools/git-config.d.ts +140 -140
  63. package/dist/tools/git-config.js +268 -268
  64. package/dist/tools/git-files.d.ts +486 -486
  65. package/dist/tools/git-files.js +607 -607
  66. package/dist/tools/git-issues.d.ts +571 -571
  67. package/dist/tools/git-issues.d.ts.map +1 -1
  68. package/dist/tools/git-issues.js +740 -693
  69. package/dist/tools/git-issues.js.map +1 -1
  70. package/dist/tools/git-pulls.d.ts +694 -694
  71. package/dist/tools/git-pulls.js +732 -732
  72. package/dist/tools/git-rebase.d.ts +137 -137
  73. package/dist/tools/git-rebase.js +213 -213
  74. package/dist/tools/git-releases.d.ts +487 -487
  75. package/dist/tools/git-releases.js +557 -557
  76. package/dist/tools/git-remote.d.ts +138 -138
  77. package/dist/tools/git-remote.js +274 -274
  78. package/dist/tools/git-repositories.d.ts +483 -483
  79. package/dist/tools/git-repositories.js +640 -640
  80. package/dist/tools/git-reset.d.ts +130 -130
  81. package/dist/tools/git-reset.js +223 -223
  82. package/dist/tools/git-revert.d.ts +149 -149
  83. package/dist/tools/git-revert.js +198 -198
  84. package/dist/tools/git-stash.d.ts +140 -140
  85. package/dist/tools/git-stash.js +269 -269
  86. package/dist/tools/git-submodule.d.ts +152 -152
  87. package/dist/tools/git-submodule.js +289 -289
  88. package/dist/tools/git-sync.d.ts +178 -166
  89. package/dist/tools/git-sync.d.ts.map +1 -1
  90. package/dist/tools/git-sync.js +312 -117
  91. package/dist/tools/git-sync.js.map +1 -1
  92. package/dist/tools/git-tags.d.ts +411 -411
  93. package/dist/tools/git-tags.js +485 -485
  94. package/dist/tools/git-webhooks.d.ts +470 -482
  95. package/dist/tools/git-webhooks.d.ts.map +1 -1
  96. package/dist/tools/git-webhooks.js +543 -555
  97. package/dist/tools/git-webhooks.js.map +1 -1
  98. package/dist/tools/git-worktree.d.ts +159 -159
  99. package/dist/tools/git-worktree.js +269 -269
  100. package/dist/tools/repositories.d.ts +405 -405
  101. package/dist/tools/repositories.js +569 -569
  102. package/dist/tools/users.d.ts +372 -372
  103. package/dist/tools/users.js +499 -499
  104. package/dist/tools/validator.d.ts +170 -170
  105. package/dist/tools/validator.js +194 -194
  106. package/dist/tools/version-control.d.ts +136 -136
  107. package/dist/tools/version-control.js +164 -164
  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 +59 -59
@@ -1,195 +1,195 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ToolSchemas = exports.ToolValidator = exports.RepositorySchemas = exports.CommonSchemas = void 0;
4
- const zod_1 = require("zod");
5
- /**
6
- * Validador comum para todas as tools
7
- * Fornece schemas e métodos de validação padronizados
8
- */
9
- // Schemas comuns reutilizáveis
10
- exports.CommonSchemas = {
11
- // Identificadores
12
- username: zod_1.z.string().min(1, 'Username is required').max(100, 'Username too long').optional(),
13
- repo: zod_1.z.string().min(1, 'Repository name is required').max(100, 'Repository name too long'),
14
- provider: zod_1.z.enum(['gitea', 'github', 'both']),
15
- // Paginação
16
- page: zod_1.z.number().min(1, 'Page must be at least 1').max(1000, 'Page too high').optional(),
17
- limit: zod_1.z.number().min(1, 'Limit must be at least 1').max(100, 'Limit cannot exceed 100').optional(),
18
- // Strings opcionais com limites
19
- shortString: zod_1.z.string().max(255, 'String too long').optional(),
20
- mediumString: zod_1.z.string().max(1000, 'String too long').optional(),
21
- longString: zod_1.z.string().max(10000, 'String too long').optional(),
22
- // Identificadores específicos
23
- branch: zod_1.z.string().min(1, 'Branch name is required').max(255, 'Branch name too long').optional(),
24
- tag: zod_1.z.string().min(1, 'Tag name is required').max(255, 'Tag name too long').optional(),
25
- sha: zod_1.z.string().regex(/^[a-f0-9]{7,40}$/i, 'Invalid SHA format').optional(),
26
- // Paths e URLs
27
- filePath: zod_1.z.string().min(1, 'File path is required').max(1000, 'File path too long').optional(),
28
- url: zod_1.z.string().url('Invalid URL format').optional(),
29
- // Estados
30
- issueState: zod_1.z.enum(['open', 'closed', 'all']).optional(),
31
- prState: zod_1.z.enum(['open', 'closed', 'merged', 'all']).optional(),
32
- // Arrays
33
- stringArray: zod_1.z.array(zod_1.z.string().max(255)).max(50, 'Too many items').optional(),
34
- // Booleanos
35
- boolean: zod_1.z.boolean().optional(),
36
- // Números
37
- positiveNumber: zod_1.z.number().positive('Must be positive').optional(),
38
- issueNumber: zod_1.z.number().min(1, 'Issue number must be positive').max(999999, 'Issue number too high').optional(),
39
- // Enums específicos
40
- mergeMethod: zod_1.z.enum(['merge', 'rebase', 'squash']).optional(),
41
- syncDirection: zod_1.z.enum(['one-way', 'two-way']).optional(),
42
- syncStrategy: zod_1.z.enum(['source-wins', 'timestamp', 'skip-conflicts']).optional()
43
- };
44
- // Schemas para repositórios
45
- exports.RepositorySchemas = {
46
- source: zod_1.z.object({
47
- provider: zod_1.z.enum(['gitea', 'github']),
48
- repo: exports.CommonSchemas.repo
49
- }).optional(),
50
- target: zod_1.z.object({
51
- provider: zod_1.z.enum(['gitea', 'github']),
52
- repo: exports.CommonSchemas.repo
53
- }).optional()
54
- };
55
- // Validações customizadas
56
- class ToolValidator {
57
- /**
58
- * Valida se pelo menos um dos campos obrigatórios está presente
59
- */
60
- static requireOneOf(data, fields, errorMessage) {
61
- const hasRequired = fields.some(field => data[field] !== undefined && data[field] !== null && data[field] !== '');
62
- if (!hasRequired) {
63
- throw new Error(errorMessage || `At least one of the following fields is required: ${fields.join(', ')}`);
64
- }
65
- }
66
- /**
67
- * Valida se todos os campos de um grupo estão presentes ou ausentes
68
- */
69
- static requireAllOrNone(data, fields, errorMessage) {
70
- const presentFields = fields.filter(field => data[field] !== undefined && data[field] !== null && data[field] !== '');
71
- if (presentFields.length > 0 && presentFields.length < fields.length) {
72
- throw new Error(errorMessage || `All or none of these fields must be provided: ${fields.join(', ')}`);
73
- }
74
- }
75
- /**
76
- * Valida formato de versão semântica
77
- */
78
- static validateSemVer(version) {
79
- const semVerRegex = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;
80
- return semVerRegex.test(version);
81
- }
82
- /**
83
- * Valida nome de branch Git
84
- */
85
- static validateBranchName(branch) {
86
- // Regras básicas do Git para nomes de branch
87
- const invalidPatterns = [
88
- /^\./, // Não pode começar com ponto
89
- /\.\./, // Não pode conter dois pontos consecutivos
90
- /[\x00-\x1f\x7f]/, // Não pode conter caracteres de controle
91
- /[\s~^:?*\[]/, // Não pode conter espaços ou caracteres especiais
92
- /\/$/, // Não pode terminar com /
93
- /\.lock$/, // Não pode terminar com .lock
94
- /@\{/ // Não pode conter @{
95
- ];
96
- return !invalidPatterns.some(pattern => pattern.test(branch)) && branch.length > 0 && branch.length <= 255;
97
- }
98
- /**
99
- * Valida nome de arquivo/path
100
- */
101
- static validateFilePath(path) {
102
- // Não pode conter caracteres inválidos para sistemas de arquivo
103
- const invalidChars = /[<>:"|?*\x00-\x1f]/;
104
- return !invalidChars.test(path) && path.length > 0 && path.length <= 1000;
105
- }
106
- /**
107
- * Sanitiza entrada de texto removendo caracteres perigosos
108
- */
109
- static sanitizeText(text) {
110
- return text
111
- .replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g, '') // Remove caracteres de controle
112
- .replace(/[<>"'&]/g, '') // Remove caracteres HTML perigosos
113
- .trim();
114
- }
115
- /**
116
- * Valida e sanitiza parâmetros de entrada de uma tool
117
- */
118
- static validateAndSanitize(data, schema) {
119
- try {
120
- // Primeiro valida com Zod
121
- const validated = schema.parse(data);
122
- // Depois sanitiza strings se necessário
123
- const sanitized = this.sanitizeObject(validated);
124
- return sanitized;
125
- }
126
- catch (error) {
127
- if (error instanceof zod_1.z.ZodError) {
128
- const issues = error.issues.map(issue => `${issue.path.join('.')}: ${issue.message}`).join(', ');
129
- throw new Error(`Validation failed: ${issues}`);
130
- }
131
- throw error;
132
- }
133
- }
134
- /**
135
- * Sanitiza recursivamente um objeto
136
- */
137
- static sanitizeObject(obj) {
138
- if (typeof obj === 'string') {
139
- return this.sanitizeText(obj);
140
- }
141
- if (Array.isArray(obj)) {
142
- return obj.map(item => this.sanitizeObject(item));
143
- }
144
- if (obj && typeof obj === 'object') {
145
- const sanitized = {};
146
- for (const [key, value] of Object.entries(obj)) {
147
- sanitized[key] = this.sanitizeObject(value);
148
- }
149
- return sanitized;
150
- }
151
- return obj;
152
- }
153
- /**
154
- * Cria um schema base para tools com parâmetros comuns
155
- */
156
- static createBaseToolSchema(additionalFields = {}) {
157
- return zod_1.z.object({
158
- repo: exports.CommonSchemas.repo,
159
- provider: exports.CommonSchemas.provider,
160
- page: exports.CommonSchemas.page,
161
- limit: exports.CommonSchemas.limit,
162
- ...additionalFields
163
- });
164
- }
165
- }
166
- exports.ToolValidator = ToolValidator;
167
- // Schemas pré-definidos para tools comuns
168
- exports.ToolSchemas = {
169
- // Schema básico para operações de repositório
170
- repositoryOperation: ToolValidator.createBaseToolSchema(),
171
- // Schema para operações com arquivos
172
- fileOperation: ToolValidator.createBaseToolSchema({
173
- path: exports.CommonSchemas.filePath,
174
- content: exports.CommonSchemas.longString,
175
- message: exports.CommonSchemas.mediumString,
176
- branch: exports.CommonSchemas.branch,
177
- sha: exports.CommonSchemas.sha
178
- }),
179
- // Schema para operações com issues
180
- issueOperation: ToolValidator.createBaseToolSchema({
181
- title: exports.CommonSchemas.mediumString,
182
- body: exports.CommonSchemas.longString,
183
- state: exports.CommonSchemas.issueState,
184
- labels: exports.CommonSchemas.stringArray,
185
- assignees: exports.CommonSchemas.stringArray,
186
- issue_number: exports.CommonSchemas.issueNumber
187
- }),
188
- // Schema para operações com branches
189
- branchOperation: ToolValidator.createBaseToolSchema({
190
- branch: exports.CommonSchemas.branch,
191
- from_branch: exports.CommonSchemas.branch,
192
- branch_name: exports.CommonSchemas.branch
193
- })
194
- };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ToolSchemas = exports.ToolValidator = exports.RepositorySchemas = exports.CommonSchemas = void 0;
4
+ const zod_1 = require("zod");
5
+ /**
6
+ * Validador comum para todas as tools
7
+ * Fornece schemas e métodos de validação padronizados
8
+ */
9
+ // Schemas comuns reutilizáveis
10
+ exports.CommonSchemas = {
11
+ // Identificadores
12
+ username: zod_1.z.string().min(1, 'Username is required').max(100, 'Username too long').optional(),
13
+ repo: zod_1.z.string().min(1, 'Repository name is required').max(100, 'Repository name too long'),
14
+ provider: zod_1.z.enum(['gitea', 'github', 'both']),
15
+ // Paginação
16
+ page: zod_1.z.number().min(1, 'Page must be at least 1').max(1000, 'Page too high').optional(),
17
+ limit: zod_1.z.number().min(1, 'Limit must be at least 1').max(100, 'Limit cannot exceed 100').optional(),
18
+ // Strings opcionais com limites
19
+ shortString: zod_1.z.string().max(255, 'String too long').optional(),
20
+ mediumString: zod_1.z.string().max(1000, 'String too long').optional(),
21
+ longString: zod_1.z.string().max(10000, 'String too long').optional(),
22
+ // Identificadores específicos
23
+ branch: zod_1.z.string().min(1, 'Branch name is required').max(255, 'Branch name too long').optional(),
24
+ tag: zod_1.z.string().min(1, 'Tag name is required').max(255, 'Tag name too long').optional(),
25
+ sha: zod_1.z.string().regex(/^[a-f0-9]{7,40}$/i, 'Invalid SHA format').optional(),
26
+ // Paths e URLs
27
+ filePath: zod_1.z.string().min(1, 'File path is required').max(1000, 'File path too long').optional(),
28
+ url: zod_1.z.string().url('Invalid URL format').optional(),
29
+ // Estados
30
+ issueState: zod_1.z.enum(['open', 'closed', 'all']).optional(),
31
+ prState: zod_1.z.enum(['open', 'closed', 'merged', 'all']).optional(),
32
+ // Arrays
33
+ stringArray: zod_1.z.array(zod_1.z.string().max(255)).max(50, 'Too many items').optional(),
34
+ // Booleanos
35
+ boolean: zod_1.z.boolean().optional(),
36
+ // Números
37
+ positiveNumber: zod_1.z.number().positive('Must be positive').optional(),
38
+ issueNumber: zod_1.z.number().min(1, 'Issue number must be positive').max(999999, 'Issue number too high').optional(),
39
+ // Enums específicos
40
+ mergeMethod: zod_1.z.enum(['merge', 'rebase', 'squash']).optional(),
41
+ syncDirection: zod_1.z.enum(['one-way', 'two-way']).optional(),
42
+ syncStrategy: zod_1.z.enum(['source-wins', 'timestamp', 'skip-conflicts']).optional()
43
+ };
44
+ // Schemas para repositórios
45
+ exports.RepositorySchemas = {
46
+ source: zod_1.z.object({
47
+ provider: zod_1.z.enum(['gitea', 'github']),
48
+ repo: exports.CommonSchemas.repo
49
+ }).optional(),
50
+ target: zod_1.z.object({
51
+ provider: zod_1.z.enum(['gitea', 'github']),
52
+ repo: exports.CommonSchemas.repo
53
+ }).optional()
54
+ };
55
+ // Validações customizadas
56
+ class ToolValidator {
57
+ /**
58
+ * Valida se pelo menos um dos campos obrigatórios está presente
59
+ */
60
+ static requireOneOf(data, fields, errorMessage) {
61
+ const hasRequired = fields.some(field => data[field] !== undefined && data[field] !== null && data[field] !== '');
62
+ if (!hasRequired) {
63
+ throw new Error(errorMessage || `At least one of the following fields is required: ${fields.join(', ')}`);
64
+ }
65
+ }
66
+ /**
67
+ * Valida se todos os campos de um grupo estão presentes ou ausentes
68
+ */
69
+ static requireAllOrNone(data, fields, errorMessage) {
70
+ const presentFields = fields.filter(field => data[field] !== undefined && data[field] !== null && data[field] !== '');
71
+ if (presentFields.length > 0 && presentFields.length < fields.length) {
72
+ throw new Error(errorMessage || `All or none of these fields must be provided: ${fields.join(', ')}`);
73
+ }
74
+ }
75
+ /**
76
+ * Valida formato de versão semântica
77
+ */
78
+ static validateSemVer(version) {
79
+ const semVerRegex = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;
80
+ return semVerRegex.test(version);
81
+ }
82
+ /**
83
+ * Valida nome de branch Git
84
+ */
85
+ static validateBranchName(branch) {
86
+ // Regras básicas do Git para nomes de branch
87
+ const invalidPatterns = [
88
+ /^\./, // Não pode começar com ponto
89
+ /\.\./, // Não pode conter dois pontos consecutivos
90
+ /[\x00-\x1f\x7f]/, // Não pode conter caracteres de controle
91
+ /[\s~^:?*\[]/, // Não pode conter espaços ou caracteres especiais
92
+ /\/$/, // Não pode terminar com /
93
+ /\.lock$/, // Não pode terminar com .lock
94
+ /@\{/ // Não pode conter @{
95
+ ];
96
+ return !invalidPatterns.some(pattern => pattern.test(branch)) && branch.length > 0 && branch.length <= 255;
97
+ }
98
+ /**
99
+ * Valida nome de arquivo/path
100
+ */
101
+ static validateFilePath(path) {
102
+ // Não pode conter caracteres inválidos para sistemas de arquivo
103
+ const invalidChars = /[<>:"|?*\x00-\x1f]/;
104
+ return !invalidChars.test(path) && path.length > 0 && path.length <= 1000;
105
+ }
106
+ /**
107
+ * Sanitiza entrada de texto removendo caracteres perigosos
108
+ */
109
+ static sanitizeText(text) {
110
+ return text
111
+ .replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g, '') // Remove caracteres de controle
112
+ .replace(/[<>"'&]/g, '') // Remove caracteres HTML perigosos
113
+ .trim();
114
+ }
115
+ /**
116
+ * Valida e sanitiza parâmetros de entrada de uma tool
117
+ */
118
+ static validateAndSanitize(data, schema) {
119
+ try {
120
+ // Primeiro valida com Zod
121
+ const validated = schema.parse(data);
122
+ // Depois sanitiza strings se necessário
123
+ const sanitized = this.sanitizeObject(validated);
124
+ return sanitized;
125
+ }
126
+ catch (error) {
127
+ if (error instanceof zod_1.z.ZodError) {
128
+ const issues = error.issues.map(issue => `${issue.path.join('.')}: ${issue.message}`).join(', ');
129
+ throw new Error(`Validation failed: ${issues}`);
130
+ }
131
+ throw error;
132
+ }
133
+ }
134
+ /**
135
+ * Sanitiza recursivamente um objeto
136
+ */
137
+ static sanitizeObject(obj) {
138
+ if (typeof obj === 'string') {
139
+ return this.sanitizeText(obj);
140
+ }
141
+ if (Array.isArray(obj)) {
142
+ return obj.map(item => this.sanitizeObject(item));
143
+ }
144
+ if (obj && typeof obj === 'object') {
145
+ const sanitized = {};
146
+ for (const [key, value] of Object.entries(obj)) {
147
+ sanitized[key] = this.sanitizeObject(value);
148
+ }
149
+ return sanitized;
150
+ }
151
+ return obj;
152
+ }
153
+ /**
154
+ * Cria um schema base para tools com parâmetros comuns
155
+ */
156
+ static createBaseToolSchema(additionalFields = {}) {
157
+ return zod_1.z.object({
158
+ repo: exports.CommonSchemas.repo,
159
+ provider: exports.CommonSchemas.provider,
160
+ page: exports.CommonSchemas.page,
161
+ limit: exports.CommonSchemas.limit,
162
+ ...additionalFields
163
+ });
164
+ }
165
+ }
166
+ exports.ToolValidator = ToolValidator;
167
+ // Schemas pré-definidos para tools comuns
168
+ exports.ToolSchemas = {
169
+ // Schema básico para operações de repositório
170
+ repositoryOperation: ToolValidator.createBaseToolSchema(),
171
+ // Schema para operações com arquivos
172
+ fileOperation: ToolValidator.createBaseToolSchema({
173
+ path: exports.CommonSchemas.filePath,
174
+ content: exports.CommonSchemas.longString,
175
+ message: exports.CommonSchemas.mediumString,
176
+ branch: exports.CommonSchemas.branch,
177
+ sha: exports.CommonSchemas.sha
178
+ }),
179
+ // Schema para operações com issues
180
+ issueOperation: ToolValidator.createBaseToolSchema({
181
+ title: exports.CommonSchemas.mediumString,
182
+ body: exports.CommonSchemas.longString,
183
+ state: exports.CommonSchemas.issueState,
184
+ labels: exports.CommonSchemas.stringArray,
185
+ assignees: exports.CommonSchemas.stringArray,
186
+ issue_number: exports.CommonSchemas.issueNumber
187
+ }),
188
+ // Schema para operações com branches
189
+ branchOperation: ToolValidator.createBaseToolSchema({
190
+ branch: exports.CommonSchemas.branch,
191
+ from_branch: exports.CommonSchemas.branch,
192
+ branch_name: exports.CommonSchemas.branch
193
+ })
194
+ };
195
195
  //# sourceMappingURL=validator.js.map