@andrebuzeli/git-mcp 2.6.1

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 (122) hide show
  1. package/README.md +346 -0
  2. package/dist/client.d.ts +307 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/dist/client.js +299 -0
  5. package/dist/client.js.map +1 -0
  6. package/dist/config.d.ts +299 -0
  7. package/dist/config.d.ts.map +1 -0
  8. package/dist/config.js +381 -0
  9. package/dist/config.js.map +1 -0
  10. package/dist/index.d.ts +22 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +53 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/providers/base-provider.d.ts +139 -0
  15. package/dist/providers/base-provider.d.ts.map +1 -0
  16. package/dist/providers/base-provider.js +246 -0
  17. package/dist/providers/base-provider.js.map +1 -0
  18. package/dist/providers/error-handler.d.ts +51 -0
  19. package/dist/providers/error-handler.d.ts.map +1 -0
  20. package/dist/providers/error-handler.js +170 -0
  21. package/dist/providers/error-handler.js.map +1 -0
  22. package/dist/providers/gitea-provider.d.ts +68 -0
  23. package/dist/providers/gitea-provider.d.ts.map +1 -0
  24. package/dist/providers/gitea-provider.js +515 -0
  25. package/dist/providers/gitea-provider.js.map +1 -0
  26. package/dist/providers/github-provider.d.ts +68 -0
  27. package/dist/providers/github-provider.d.ts.map +1 -0
  28. package/dist/providers/github-provider.js +518 -0
  29. package/dist/providers/github-provider.js.map +1 -0
  30. package/dist/providers/index.d.ts +13 -0
  31. package/dist/providers/index.d.ts.map +1 -0
  32. package/dist/providers/index.js +41 -0
  33. package/dist/providers/index.js.map +1 -0
  34. package/dist/providers/provider-factory.d.ts +75 -0
  35. package/dist/providers/provider-factory.d.ts.map +1 -0
  36. package/dist/providers/provider-factory.js +298 -0
  37. package/dist/providers/provider-factory.js.map +1 -0
  38. package/dist/providers/types.d.ts +276 -0
  39. package/dist/providers/types.d.ts.map +1 -0
  40. package/dist/providers/types.js +7 -0
  41. package/dist/providers/types.js.map +1 -0
  42. package/dist/server.d.ts +77 -0
  43. package/dist/server.d.ts.map +1 -0
  44. package/dist/server.js +262 -0
  45. package/dist/server.js.map +1 -0
  46. package/dist/tools/actions.d.ts +272 -0
  47. package/dist/tools/actions.d.ts.map +1 -0
  48. package/dist/tools/actions.js +428 -0
  49. package/dist/tools/actions.js.map +1 -0
  50. package/dist/tools/analytics.d.ts +326 -0
  51. package/dist/tools/analytics.d.ts.map +1 -0
  52. package/dist/tools/analytics.js +473 -0
  53. package/dist/tools/analytics.js.map +1 -0
  54. package/dist/tools/branches.d.ts +461 -0
  55. package/dist/tools/branches.d.ts.map +1 -0
  56. package/dist/tools/branches.js +525 -0
  57. package/dist/tools/branches.js.map +1 -0
  58. package/dist/tools/code-review.d.ts +323 -0
  59. package/dist/tools/code-review.d.ts.map +1 -0
  60. package/dist/tools/code-review.js +552 -0
  61. package/dist/tools/code-review.js.map +1 -0
  62. package/dist/tools/commits.d.ts +488 -0
  63. package/dist/tools/commits.d.ts.map +1 -0
  64. package/dist/tools/commits.js +578 -0
  65. package/dist/tools/commits.js.map +1 -0
  66. package/dist/tools/deployments.d.ts +319 -0
  67. package/dist/tools/deployments.d.ts.map +1 -0
  68. package/dist/tools/deployments.js +355 -0
  69. package/dist/tools/deployments.js.map +1 -0
  70. package/dist/tools/files.d.ts +456 -0
  71. package/dist/tools/files.d.ts.map +1 -0
  72. package/dist/tools/files.js +531 -0
  73. package/dist/tools/files.js.map +1 -0
  74. package/dist/tools/git-sync.d.ts +177 -0
  75. package/dist/tools/git-sync.d.ts.map +1 -0
  76. package/dist/tools/git-sync.js +112 -0
  77. package/dist/tools/git-sync.js.map +1 -0
  78. package/dist/tools/issues.d.ts +579 -0
  79. package/dist/tools/issues.d.ts.map +1 -0
  80. package/dist/tools/issues.js +631 -0
  81. package/dist/tools/issues.js.map +1 -0
  82. package/dist/tools/pulls.d.ts +702 -0
  83. package/dist/tools/pulls.d.ts.map +1 -0
  84. package/dist/tools/pulls.js +730 -0
  85. package/dist/tools/pulls.js.map +1 -0
  86. package/dist/tools/releases.d.ts +495 -0
  87. package/dist/tools/releases.d.ts.map +1 -0
  88. package/dist/tools/releases.js +551 -0
  89. package/dist/tools/releases.js.map +1 -0
  90. package/dist/tools/repositories.d.ts +513 -0
  91. package/dist/tools/repositories.d.ts.map +1 -0
  92. package/dist/tools/repositories.js +634 -0
  93. package/dist/tools/repositories.js.map +1 -0
  94. package/dist/tools/security.d.ts +341 -0
  95. package/dist/tools/security.d.ts.map +1 -0
  96. package/dist/tools/security.js +394 -0
  97. package/dist/tools/security.js.map +1 -0
  98. package/dist/tools/tags.d.ts +419 -0
  99. package/dist/tools/tags.d.ts.map +1 -0
  100. package/dist/tools/tags.js +479 -0
  101. package/dist/tools/tags.js.map +1 -0
  102. package/dist/tools/users.d.ts +376 -0
  103. package/dist/tools/users.d.ts.map +1 -0
  104. package/dist/tools/users.js +495 -0
  105. package/dist/tools/users.js.map +1 -0
  106. package/dist/tools/validator.d.ts +192 -0
  107. package/dist/tools/validator.d.ts.map +1 -0
  108. package/dist/tools/validator.js +198 -0
  109. package/dist/tools/validator.js.map +1 -0
  110. package/dist/tools/version-control.d.ts +247 -0
  111. package/dist/tools/version-control.d.ts.map +1 -0
  112. package/dist/tools/version-control.js +521 -0
  113. package/dist/tools/version-control.js.map +1 -0
  114. package/dist/tools/webhooks.d.ts +478 -0
  115. package/dist/tools/webhooks.d.ts.map +1 -0
  116. package/dist/tools/webhooks.js +541 -0
  117. package/dist/tools/webhooks.js.map +1 -0
  118. package/dist/tools/workflows.d.ts +313 -0
  119. package/dist/tools/workflows.d.ts.map +1 -0
  120. package/dist/tools/workflows.js +430 -0
  121. package/dist/tools/workflows.js.map +1 -0
  122. package/package.json +58 -0
@@ -0,0 +1,192 @@
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
+ owner: z.ZodString;
8
+ repo: z.ZodString;
9
+ provider: z.ZodOptional<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
+ owner: z.ZodString;
34
+ repo: z.ZodString;
35
+ }, "strip", z.ZodTypeAny, {
36
+ provider: "gitea" | "github";
37
+ owner: string;
38
+ repo: string;
39
+ }, {
40
+ provider: "gitea" | "github";
41
+ owner: string;
42
+ repo: string;
43
+ }>>;
44
+ target: z.ZodOptional<z.ZodObject<{
45
+ provider: z.ZodEnum<["gitea", "github"]>;
46
+ owner: z.ZodString;
47
+ repo: z.ZodString;
48
+ }, "strip", z.ZodTypeAny, {
49
+ provider: "gitea" | "github";
50
+ owner: string;
51
+ repo: string;
52
+ }, {
53
+ provider: "gitea" | "github";
54
+ owner: string;
55
+ repo: string;
56
+ }>>;
57
+ };
58
+ export declare class ToolValidator {
59
+ /**
60
+ * Valida se pelo menos um dos campos obrigatórios está presente
61
+ */
62
+ static requireOneOf<T>(data: T, fields: (keyof T)[], errorMessage?: string): void;
63
+ /**
64
+ * Valida se todos os campos de um grupo estão presentes ou ausentes
65
+ */
66
+ static requireAllOrNone<T>(data: T, fields: (keyof T)[], errorMessage?: string): void;
67
+ /**
68
+ * Valida formato de versão semântica
69
+ */
70
+ static validateSemVer(version: string): boolean;
71
+ /**
72
+ * Valida nome de branch Git
73
+ */
74
+ static validateBranchName(branch: string): boolean;
75
+ /**
76
+ * Valida nome de arquivo/path
77
+ */
78
+ static validateFilePath(path: string): boolean;
79
+ /**
80
+ * Sanitiza entrada de texto removendo caracteres perigosos
81
+ */
82
+ static sanitizeText(text: string): string;
83
+ /**
84
+ * Valida e sanitiza parâmetros de entrada de uma tool
85
+ */
86
+ static validateAndSanitize<T>(data: T, schema: z.ZodSchema<T>): T;
87
+ /**
88
+ * Sanitiza recursivamente um objeto
89
+ */
90
+ private static sanitizeObject;
91
+ /**
92
+ * Cria um schema base para tools com parâmetros comuns
93
+ */
94
+ static createBaseToolSchema(additionalFields?: Record<string, z.ZodTypeAny>): z.ZodObject<{
95
+ owner: z.ZodString;
96
+ repo: z.ZodString;
97
+ provider: z.ZodOptional<z.ZodEnum<["gitea", "github", "both"]>>;
98
+ page: z.ZodOptional<z.ZodNumber>;
99
+ limit: z.ZodOptional<z.ZodNumber>;
100
+ }, "strip", z.ZodTypeAny, {
101
+ owner: string;
102
+ repo: string;
103
+ provider?: "gitea" | "github" | "both" | undefined;
104
+ page?: number | undefined;
105
+ limit?: number | undefined;
106
+ }, {
107
+ owner: string;
108
+ repo: string;
109
+ provider?: "gitea" | "github" | "both" | undefined;
110
+ page?: number | undefined;
111
+ limit?: number | undefined;
112
+ }>;
113
+ }
114
+ export declare const ToolSchemas: {
115
+ repositoryOperation: z.ZodObject<{
116
+ owner: z.ZodString;
117
+ repo: z.ZodString;
118
+ provider: z.ZodOptional<z.ZodEnum<["gitea", "github", "both"]>>;
119
+ page: z.ZodOptional<z.ZodNumber>;
120
+ limit: z.ZodOptional<z.ZodNumber>;
121
+ }, "strip", z.ZodTypeAny, {
122
+ owner: string;
123
+ repo: string;
124
+ provider?: "gitea" | "github" | "both" | undefined;
125
+ page?: number | undefined;
126
+ limit?: number | undefined;
127
+ }, {
128
+ owner: string;
129
+ repo: string;
130
+ provider?: "gitea" | "github" | "both" | undefined;
131
+ page?: number | undefined;
132
+ limit?: number | undefined;
133
+ }>;
134
+ fileOperation: z.ZodObject<{
135
+ owner: z.ZodString;
136
+ repo: z.ZodString;
137
+ provider: z.ZodOptional<z.ZodEnum<["gitea", "github", "both"]>>;
138
+ page: z.ZodOptional<z.ZodNumber>;
139
+ limit: z.ZodOptional<z.ZodNumber>;
140
+ }, "strip", z.ZodTypeAny, {
141
+ owner: string;
142
+ repo: string;
143
+ provider?: "gitea" | "github" | "both" | undefined;
144
+ page?: number | undefined;
145
+ limit?: number | undefined;
146
+ }, {
147
+ owner: string;
148
+ repo: string;
149
+ provider?: "gitea" | "github" | "both" | undefined;
150
+ page?: number | undefined;
151
+ limit?: number | undefined;
152
+ }>;
153
+ issueOperation: z.ZodObject<{
154
+ owner: z.ZodString;
155
+ repo: z.ZodString;
156
+ provider: z.ZodOptional<z.ZodEnum<["gitea", "github", "both"]>>;
157
+ page: z.ZodOptional<z.ZodNumber>;
158
+ limit: z.ZodOptional<z.ZodNumber>;
159
+ }, "strip", z.ZodTypeAny, {
160
+ owner: string;
161
+ repo: string;
162
+ provider?: "gitea" | "github" | "both" | undefined;
163
+ page?: number | undefined;
164
+ limit?: number | undefined;
165
+ }, {
166
+ owner: string;
167
+ repo: string;
168
+ provider?: "gitea" | "github" | "both" | undefined;
169
+ page?: number | undefined;
170
+ limit?: number | undefined;
171
+ }>;
172
+ branchOperation: z.ZodObject<{
173
+ owner: z.ZodString;
174
+ repo: z.ZodString;
175
+ provider: z.ZodOptional<z.ZodEnum<["gitea", "github", "both"]>>;
176
+ page: z.ZodOptional<z.ZodNumber>;
177
+ limit: z.ZodOptional<z.ZodNumber>;
178
+ }, "strip", z.ZodTypeAny, {
179
+ owner: string;
180
+ repo: string;
181
+ provider?: "gitea" | "github" | "both" | undefined;
182
+ page?: number | undefined;
183
+ limit?: number | undefined;
184
+ }, {
185
+ owner: string;
186
+ repo: string;
187
+ provider?: "gitea" | "github" | "both" | undefined;
188
+ page?: number | undefined;
189
+ limit?: number | undefined;
190
+ }>;
191
+ };
192
+ //# sourceMappingURL=validator.d.ts.map
@@ -0,0 +1 @@
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;;;;;;;;;;;;;;;;;;;;;;;;;;;CAY7B,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;;;;;;;;;;;;;;;;;;;CAUhF;AAGD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BvB,CAAC"}
@@ -0,0 +1,198 @@
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
+ owner: zod_1.z.string().min(1, 'Owner is required').max(100, 'Owner too long'),
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']).optional(),
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
+ owner: exports.CommonSchemas.owner,
49
+ repo: exports.CommonSchemas.repo
50
+ }).optional(),
51
+ target: zod_1.z.object({
52
+ provider: zod_1.z.enum(['gitea', 'github']),
53
+ owner: exports.CommonSchemas.owner,
54
+ repo: exports.CommonSchemas.repo
55
+ }).optional()
56
+ };
57
+ // Validações customizadas
58
+ class ToolValidator {
59
+ /**
60
+ * Valida se pelo menos um dos campos obrigatórios está presente
61
+ */
62
+ static requireOneOf(data, fields, errorMessage) {
63
+ const hasRequired = fields.some(field => data[field] !== undefined && data[field] !== null && data[field] !== '');
64
+ if (!hasRequired) {
65
+ throw new Error(errorMessage || `At least one of the following fields is required: ${fields.join(', ')}`);
66
+ }
67
+ }
68
+ /**
69
+ * Valida se todos os campos de um grupo estão presentes ou ausentes
70
+ */
71
+ static requireAllOrNone(data, fields, errorMessage) {
72
+ const presentFields = fields.filter(field => data[field] !== undefined && data[field] !== null && data[field] !== '');
73
+ if (presentFields.length > 0 && presentFields.length < fields.length) {
74
+ throw new Error(errorMessage || `All or none of these fields must be provided: ${fields.join(', ')}`);
75
+ }
76
+ }
77
+ /**
78
+ * Valida formato de versão semântica
79
+ */
80
+ static validateSemVer(version) {
81
+ 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-]+)*))?$/;
82
+ return semVerRegex.test(version);
83
+ }
84
+ /**
85
+ * Valida nome de branch Git
86
+ */
87
+ static validateBranchName(branch) {
88
+ // Regras básicas do Git para nomes de branch
89
+ const invalidPatterns = [
90
+ /^\./, // Não pode começar com ponto
91
+ /\.\./, // Não pode conter dois pontos consecutivos
92
+ /[\x00-\x1f\x7f]/, // Não pode conter caracteres de controle
93
+ /[\s~^:?*\[]/, // Não pode conter espaços ou caracteres especiais
94
+ /\/$/, // Não pode terminar com /
95
+ /\.lock$/, // Não pode terminar com .lock
96
+ /@\{/ // Não pode conter @{
97
+ ];
98
+ return !invalidPatterns.some(pattern => pattern.test(branch)) && branch.length > 0 && branch.length <= 255;
99
+ }
100
+ /**
101
+ * Valida nome de arquivo/path
102
+ */
103
+ static validateFilePath(path) {
104
+ // Não pode conter caracteres inválidos para sistemas de arquivo
105
+ const invalidChars = /[<>:"|?*\x00-\x1f]/;
106
+ return !invalidChars.test(path) && path.length > 0 && path.length <= 1000;
107
+ }
108
+ /**
109
+ * Sanitiza entrada de texto removendo caracteres perigosos
110
+ */
111
+ static sanitizeText(text) {
112
+ return text
113
+ .replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g, '') // Remove caracteres de controle
114
+ .replace(/[<>"'&]/g, '') // Remove caracteres HTML perigosos
115
+ .trim();
116
+ }
117
+ /**
118
+ * Valida e sanitiza parâmetros de entrada de uma tool
119
+ */
120
+ static validateAndSanitize(data, schema) {
121
+ try {
122
+ // Primeiro valida com Zod
123
+ const validated = schema.parse(data);
124
+ // Depois sanitiza strings se necessário
125
+ const sanitized = this.sanitizeObject(validated);
126
+ return sanitized;
127
+ }
128
+ catch (error) {
129
+ if (error instanceof zod_1.z.ZodError) {
130
+ const issues = error.issues.map(issue => `${issue.path.join('.')}: ${issue.message}`).join(', ');
131
+ throw new Error(`Validation failed: ${issues}`);
132
+ }
133
+ throw error;
134
+ }
135
+ }
136
+ /**
137
+ * Sanitiza recursivamente um objeto
138
+ */
139
+ static sanitizeObject(obj) {
140
+ if (typeof obj === 'string') {
141
+ return this.sanitizeText(obj);
142
+ }
143
+ if (Array.isArray(obj)) {
144
+ return obj.map(item => this.sanitizeObject(item));
145
+ }
146
+ if (obj && typeof obj === 'object') {
147
+ const sanitized = {};
148
+ for (const [key, value] of Object.entries(obj)) {
149
+ sanitized[key] = this.sanitizeObject(value);
150
+ }
151
+ return sanitized;
152
+ }
153
+ return obj;
154
+ }
155
+ /**
156
+ * Cria um schema base para tools com parâmetros comuns
157
+ */
158
+ static createBaseToolSchema(additionalFields = {}) {
159
+ return zod_1.z.object({
160
+ owner: exports.CommonSchemas.owner,
161
+ repo: exports.CommonSchemas.repo,
162
+ provider: exports.CommonSchemas.provider,
163
+ page: exports.CommonSchemas.page,
164
+ limit: exports.CommonSchemas.limit,
165
+ ...additionalFields
166
+ });
167
+ }
168
+ }
169
+ exports.ToolValidator = ToolValidator;
170
+ // Schemas pré-definidos para tools comuns
171
+ exports.ToolSchemas = {
172
+ // Schema básico para operações de repositório
173
+ repositoryOperation: ToolValidator.createBaseToolSchema(),
174
+ // Schema para operações com arquivos
175
+ fileOperation: ToolValidator.createBaseToolSchema({
176
+ path: exports.CommonSchemas.filePath,
177
+ content: exports.CommonSchemas.longString,
178
+ message: exports.CommonSchemas.mediumString,
179
+ branch: exports.CommonSchemas.branch,
180
+ sha: exports.CommonSchemas.sha
181
+ }),
182
+ // Schema para operações com issues
183
+ issueOperation: ToolValidator.createBaseToolSchema({
184
+ title: exports.CommonSchemas.mediumString,
185
+ body: exports.CommonSchemas.longString,
186
+ state: exports.CommonSchemas.issueState,
187
+ labels: exports.CommonSchemas.stringArray,
188
+ assignees: exports.CommonSchemas.stringArray,
189
+ issue_number: exports.CommonSchemas.issueNumber
190
+ }),
191
+ // Schema para operações com branches
192
+ branchOperation: ToolValidator.createBaseToolSchema({
193
+ branch: exports.CommonSchemas.branch,
194
+ from_branch: exports.CommonSchemas.branch,
195
+ branch_name: exports.CommonSchemas.branch
196
+ })
197
+ };
198
+ //# sourceMappingURL=validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/tools/validator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,247 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Tool: version-control
4
+ *
5
+ * DESCRIÇÃO:
6
+ * Sistema completo de versionamento, backup e rastreio de alterações para projetos.
7
+ * Gerencia versões semânticas, cria backups automáticos e rastreia mudanças ao longo do tempo.
8
+ *
9
+ * OBJETIVOS:
10
+ * - Versionamento semântico automático (MAJOR.MINOR.PATCH)
11
+ * - Backup automático com snapshots incrementais
12
+ * - Rastreio de alterações com histórico detalhado
13
+ * - Rollback para versões anteriores
14
+ * - Análise de mudanças entre versões
15
+ *
16
+ * LIMITAÇÕES:
17
+ * - Backup baseado em API REST (não histórico Git completo)
18
+ * - Snapshots incrementais dependem de storage disponível
19
+ * - Rollback requer reaplicação manual de mudanças
20
+ *
21
+ * DICAS (solo):
22
+ * - Use para manter histórico de versões estáveis
23
+ * - Configure backup automático para mudanças críticas
24
+ * - Documente mudanças significativas em cada versão
25
+ * - Teste rollback em ambiente de desenvolvimento
26
+ */
27
+ declare const VersionControlInputSchema: z.ZodObject<{
28
+ action: z.ZodEnum<["version", "backup", "track", "rollback", "history", "analyze", "semantic-version", "changelog", "auto-tag", "release-notes"]>;
29
+ project: z.ZodOptional<z.ZodString>;
30
+ owner: z.ZodOptional<z.ZodString>;
31
+ repo: z.ZodOptional<z.ZodString>;
32
+ version: z.ZodOptional<z.ZodString>;
33
+ description: z.ZodOptional<z.ZodString>;
34
+ auto_backup: z.ZodOptional<z.ZodBoolean>;
35
+ backup_retention: z.ZodOptional<z.ZodNumber>;
36
+ include_files: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
37
+ exclude_patterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
38
+ dry_run: z.ZodOptional<z.ZodBoolean>;
39
+ provider: z.ZodOptional<z.ZodEnum<["gitea", "github", "both"]>>;
40
+ tag_name: z.ZodOptional<z.ZodString>;
41
+ branch: z.ZodOptional<z.ZodString>;
42
+ version_type: z.ZodOptional<z.ZodEnum<["major", "minor", "patch", "prerelease"]>>;
43
+ conventional_commits: z.ZodOptional<z.ZodBoolean>;
44
+ generate_changelog: z.ZodOptional<z.ZodBoolean>;
45
+ auto_tag: z.ZodOptional<z.ZodBoolean>;
46
+ release_notes: z.ZodOptional<z.ZodString>;
47
+ breaking_changes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
48
+ features: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
49
+ fixes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
50
+ format: z.ZodOptional<z.ZodEnum<["markdown", "json", "text"]>>;
51
+ }, "strip", z.ZodTypeAny, {
52
+ action: "version" | "backup" | "track" | "rollback" | "history" | "analyze" | "semantic-version" | "changelog" | "auto-tag" | "release-notes";
53
+ provider?: "gitea" | "github" | "both" | undefined;
54
+ description?: string | undefined;
55
+ owner?: string | undefined;
56
+ tag_name?: string | undefined;
57
+ repo?: string | undefined;
58
+ branch?: string | undefined;
59
+ dry_run?: boolean | undefined;
60
+ version?: string | undefined;
61
+ project?: string | undefined;
62
+ auto_backup?: boolean | undefined;
63
+ backup_retention?: number | undefined;
64
+ include_files?: string[] | undefined;
65
+ exclude_patterns?: string[] | undefined;
66
+ version_type?: "prerelease" | "patch" | "major" | "minor" | undefined;
67
+ conventional_commits?: boolean | undefined;
68
+ generate_changelog?: boolean | undefined;
69
+ auto_tag?: boolean | undefined;
70
+ release_notes?: string | undefined;
71
+ breaking_changes?: string[] | undefined;
72
+ features?: string[] | undefined;
73
+ fixes?: string[] | undefined;
74
+ format?: "json" | "markdown" | "text" | undefined;
75
+ }, {
76
+ action: "version" | "backup" | "track" | "rollback" | "history" | "analyze" | "semantic-version" | "changelog" | "auto-tag" | "release-notes";
77
+ provider?: "gitea" | "github" | "both" | undefined;
78
+ description?: string | undefined;
79
+ owner?: string | undefined;
80
+ tag_name?: string | undefined;
81
+ repo?: string | undefined;
82
+ branch?: string | undefined;
83
+ dry_run?: boolean | undefined;
84
+ version?: string | undefined;
85
+ project?: string | undefined;
86
+ auto_backup?: boolean | undefined;
87
+ backup_retention?: number | undefined;
88
+ include_files?: string[] | undefined;
89
+ exclude_patterns?: string[] | undefined;
90
+ version_type?: "prerelease" | "patch" | "major" | "minor" | undefined;
91
+ conventional_commits?: boolean | undefined;
92
+ generate_changelog?: boolean | undefined;
93
+ auto_tag?: boolean | undefined;
94
+ release_notes?: string | undefined;
95
+ breaking_changes?: string[] | undefined;
96
+ features?: string[] | undefined;
97
+ fixes?: string[] | undefined;
98
+ format?: "json" | "markdown" | "text" | undefined;
99
+ }>;
100
+ export type VersionControlInput = z.infer<typeof VersionControlInputSchema>;
101
+ declare const VersionControlResultSchema: z.ZodObject<{
102
+ success: z.ZodBoolean;
103
+ action: z.ZodString;
104
+ message: z.ZodString;
105
+ data: z.ZodOptional<z.ZodAny>;
106
+ error: z.ZodOptional<z.ZodString>;
107
+ }, "strip", z.ZodTypeAny, {
108
+ message: string;
109
+ action: string;
110
+ success: boolean;
111
+ error?: string | undefined;
112
+ data?: any;
113
+ }, {
114
+ message: string;
115
+ action: string;
116
+ success: boolean;
117
+ error?: string | undefined;
118
+ data?: any;
119
+ }>;
120
+ export type VersionControlResult = z.infer<typeof VersionControlResultSchema>;
121
+ export declare const versionControlTool: {
122
+ name: string;
123
+ description: string;
124
+ inputSchema: {
125
+ type: string;
126
+ properties: {
127
+ action: {
128
+ type: string;
129
+ enum: string[];
130
+ description: string;
131
+ };
132
+ project: {
133
+ type: string;
134
+ description: string;
135
+ };
136
+ version: {
137
+ type: string;
138
+ description: string;
139
+ };
140
+ description: {
141
+ type: string;
142
+ description: string;
143
+ };
144
+ auto_backup: {
145
+ type: string;
146
+ description: string;
147
+ };
148
+ backup_retention: {
149
+ type: string;
150
+ description: string;
151
+ };
152
+ include_files: {
153
+ type: string;
154
+ items: {
155
+ type: string;
156
+ };
157
+ description: string;
158
+ };
159
+ exclude_patterns: {
160
+ type: string;
161
+ items: {
162
+ type: string;
163
+ };
164
+ description: string;
165
+ };
166
+ dry_run: {
167
+ type: string;
168
+ description: string;
169
+ };
170
+ version_type: {
171
+ type: string;
172
+ enum: string[];
173
+ description: string;
174
+ };
175
+ conventional_commits: {
176
+ type: string;
177
+ description: string;
178
+ };
179
+ generate_changelog: {
180
+ type: string;
181
+ description: string;
182
+ };
183
+ auto_tag: {
184
+ type: string;
185
+ description: string;
186
+ };
187
+ release_notes: {
188
+ type: string;
189
+ description: string;
190
+ };
191
+ breaking_changes: {
192
+ type: string;
193
+ items: {
194
+ type: string;
195
+ };
196
+ description: string;
197
+ };
198
+ features: {
199
+ type: string;
200
+ items: {
201
+ type: string;
202
+ };
203
+ description: string;
204
+ };
205
+ fixes: {
206
+ type: string;
207
+ items: {
208
+ type: string;
209
+ };
210
+ description: string;
211
+ };
212
+ format: {
213
+ type: string;
214
+ enum: string[];
215
+ description: string;
216
+ };
217
+ };
218
+ required: string[];
219
+ };
220
+ handler(input: VersionControlInput): Promise<VersionControlResult>;
221
+ createVersion(params: VersionControlInput): Promise<VersionControlResult>;
222
+ createBackup(params: VersionControlInput): Promise<VersionControlResult>;
223
+ trackChanges(params: VersionControlInput): Promise<VersionControlResult>;
224
+ performRollback(params: VersionControlInput): Promise<VersionControlResult>;
225
+ getHistory(params: VersionControlInput): Promise<VersionControlResult>;
226
+ analyzeChanges(params: VersionControlInput): Promise<VersionControlResult>;
227
+ generateNextVersion(): string;
228
+ getMostActiveAuthor(commits: any[]): string;
229
+ /**
230
+ * Cria versão semântica baseada em conventional commits
231
+ */
232
+ createSemanticVersion(params: VersionControlInput): Promise<VersionControlResult>;
233
+ /**
234
+ * Gera changelog automático
235
+ */
236
+ generateChangelog(params: VersionControlInput): Promise<VersionControlResult>;
237
+ /**
238
+ * Cria tag automática baseada em commits convencionais
239
+ */
240
+ createAutoTag(params: VersionControlInput): Promise<VersionControlResult>;
241
+ /**
242
+ * Gera release notes inteligentes
243
+ */
244
+ generateReleaseNotes(params: VersionControlInput): Promise<VersionControlResult>;
245
+ };
246
+ export {};
247
+ //# sourceMappingURL=version-control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-control.d.ts","sourceRoot":"","sources":["../../src/tools/version-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0B7B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,QAAA,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;EAM9B,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAgCR,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;0BAsC5C,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;yBAsDpD,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;yBAqCnD,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;4BAoChD,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;uBA8BxD,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;2BAuC/C,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;2BAoDzD,MAAM;iCASA,GAAG,EAAE,GAAG,MAAM;IAa3C;;OAEG;kCACiC,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA+CvF;;OAEG;8BAC6B,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAwCnF;;OAEG;0BACyB,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAyB/E;;OAEG;iCACgC,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAsDvF,CAAC"}