@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,246 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.BaseVcsProvider = void 0;
7
+ const axios_1 = __importDefault(require("axios"));
8
+ const error_handler_js_1 = require("./error-handler.js");
9
+ /**
10
+ * Classe base abstrata para todos os providers VCS
11
+ * Implementa funcionalidades comuns e define interface unificada
12
+ */
13
+ class BaseVcsProvider {
14
+ client;
15
+ config;
16
+ baseUrl;
17
+ constructor(config) {
18
+ this.config = config;
19
+ this.baseUrl = this.getBaseUrl(config);
20
+ this.client = axios_1.default.create({
21
+ baseURL: this.baseUrl,
22
+ timeout: 30000,
23
+ headers: this.getHeaders(config),
24
+ });
25
+ this.setupInterceptors();
26
+ }
27
+ /**
28
+ * Configura interceptors para logging e tratamento de erros
29
+ */
30
+ setupInterceptors() {
31
+ // Request interceptor
32
+ this.client.interceptors.request.use((config) => {
33
+ if (process.env.DEBUG === 'true') {
34
+ // Debug: API request
35
+ }
36
+ return config;
37
+ }, (error) => {
38
+ console.error(`[${this.config.name}] Request error:`, error);
39
+ return Promise.reject(error);
40
+ });
41
+ // Response interceptor
42
+ this.client.interceptors.response.use((response) => {
43
+ if (process.env.DEBUG === 'true') {
44
+ // Debug: API response
45
+ }
46
+ return response;
47
+ }, (error) => {
48
+ console.error(`[${this.config.name}] Response error:`, error.response?.status, error.response?.data);
49
+ return Promise.reject(this.normalizeError(error));
50
+ });
51
+ }
52
+ /**
53
+ * Normaliza erros para formato unificado usando ErrorHandler padrão
54
+ */
55
+ normalizeError(error) {
56
+ const standardError = error_handler_js_1.ErrorHandler.normalizeError(error, this.config.name);
57
+ if (process.env.DEBUG === 'true') {
58
+ console.error('Error details:', error_handler_js_1.ErrorHandler.formatForLogging(standardError));
59
+ }
60
+ return error_handler_js_1.ErrorHandler.createError(standardError);
61
+ }
62
+ /**
63
+ * Executa uma requisição HTTP com tratamento de erro
64
+ */
65
+ async request(config) {
66
+ try {
67
+ const response = await this.client.request(config);
68
+ return response.data;
69
+ }
70
+ catch (error) {
71
+ throw this.normalizeError(error);
72
+ }
73
+ }
74
+ /**
75
+ * Executa uma requisição GET
76
+ */
77
+ async get(url, params) {
78
+ return this.request({ method: 'GET', url, params });
79
+ }
80
+ /**
81
+ * Executa uma requisição POST
82
+ */
83
+ async post(url, data) {
84
+ return this.request({ method: 'POST', url, data });
85
+ }
86
+ /**
87
+ * Executa uma requisição PUT
88
+ */
89
+ async put(url, data) {
90
+ return this.request({ method: 'PUT', url, data });
91
+ }
92
+ /**
93
+ * Executa uma requisição PATCH
94
+ */
95
+ async patch(url, data) {
96
+ return this.request({ method: 'PATCH', url, data });
97
+ }
98
+ /**
99
+ * Executa uma requisição DELETE
100
+ */
101
+ async delete(url, config) {
102
+ return this.request({ method: 'DELETE', url, ...config });
103
+ }
104
+ // Implementações padrão das operações VCS
105
+ // Cada provider pode sobrescrever conforme necessário
106
+ async listRepositories(username, page = 1, limit = 30) {
107
+ throw new Error('listRepositories not implemented');
108
+ }
109
+ async getRepository(owner, repo) {
110
+ throw new Error('getRepository not implemented');
111
+ }
112
+ async createRepository(name, description, privateRepo = false) {
113
+ throw new Error('createRepository not implemented');
114
+ }
115
+ async updateRepository(owner, repo, updates) {
116
+ throw new Error('updateRepository not implemented');
117
+ }
118
+ async deleteRepository(owner, repo) {
119
+ throw new Error('deleteRepository not implemented');
120
+ }
121
+ async forkRepository(owner, repo, organization) {
122
+ throw new Error('forkRepository not implemented');
123
+ }
124
+ async searchRepositories(query, page = 1, limit = 30) {
125
+ throw new Error('searchRepositories not implemented');
126
+ }
127
+ async listBranches(owner, repo, page = 1, limit = 30) {
128
+ throw new Error('listBranches not implemented');
129
+ }
130
+ async getBranch(owner, repo, branch) {
131
+ throw new Error('getBranch not implemented');
132
+ }
133
+ async createBranch(owner, repo, branchName, fromBranch) {
134
+ throw new Error('createBranch not implemented');
135
+ }
136
+ async deleteBranch(owner, repo, branch) {
137
+ throw new Error('deleteBranch not implemented');
138
+ }
139
+ async getFile(owner, repo, path, ref) {
140
+ throw new Error('getFile not implemented');
141
+ }
142
+ async createFile(owner, repo, path, content, message, branch) {
143
+ throw new Error('createFile not implemented');
144
+ }
145
+ async updateFile(owner, repo, path, content, message, sha, branch) {
146
+ throw new Error('updateFile not implemented');
147
+ }
148
+ async deleteFile(owner, repo, path, message, sha, branch) {
149
+ throw new Error('deleteFile not implemented');
150
+ }
151
+ async listFiles(owner, repo, path, ref) {
152
+ throw new Error('listFiles not implemented');
153
+ }
154
+ async listCommits(owner, repo, branch, page = 1, limit = 30) {
155
+ throw new Error('listCommits not implemented');
156
+ }
157
+ async getCommit(owner, repo, sha) {
158
+ throw new Error('getCommit not implemented');
159
+ }
160
+ async listIssues(owner, repo, state = 'open', page = 1, limit = 30) {
161
+ throw new Error('listIssues not implemented');
162
+ }
163
+ async getIssue(owner, repo, issueNumber) {
164
+ throw new Error('getIssue not implemented');
165
+ }
166
+ async createIssue(owner, repo, title, body, assignees, labels) {
167
+ throw new Error('createIssue not implemented');
168
+ }
169
+ async updateIssue(owner, repo, issueNumber, updates) {
170
+ throw new Error('updateIssue not implemented');
171
+ }
172
+ async closeIssue(owner, repo, issueNumber) {
173
+ throw new Error('closeIssue not implemented');
174
+ }
175
+ async listPullRequests(owner, repo, state = 'open', page = 1, limit = 30) {
176
+ throw new Error('listPullRequests not implemented');
177
+ }
178
+ async getPullRequest(owner, repo, pullNumber) {
179
+ throw new Error('getPullRequest not implemented');
180
+ }
181
+ async createPullRequest(owner, repo, title, body, head, base) {
182
+ throw new Error('createPullRequest not implemented');
183
+ }
184
+ async updatePullRequest(owner, repo, pullNumber, updates) {
185
+ throw new Error('updatePullRequest not implemented');
186
+ }
187
+ async mergePullRequest(owner, repo, pullNumber, mergeMethod = 'merge') {
188
+ throw new Error('mergePullRequest not implemented');
189
+ }
190
+ async listReleases(owner, repo, page = 1, limit = 30) {
191
+ throw new Error('listReleases not implemented');
192
+ }
193
+ async getRelease(owner, repo, releaseId) {
194
+ throw new Error('getRelease not implemented');
195
+ }
196
+ async createRelease(tagName, name, body, draft = false, prerelease = false) {
197
+ throw new Error('createRelease not implemented');
198
+ }
199
+ async updateRelease(releaseId, updates) {
200
+ throw new Error('updateRelease not implemented');
201
+ }
202
+ async deleteRelease(releaseId) {
203
+ throw new Error('deleteRelease not implemented');
204
+ }
205
+ async listTags(owner, repo, page = 1, limit = 30) {
206
+ throw new Error('listTags not implemented');
207
+ }
208
+ async getTag(owner, repo, tag) {
209
+ throw new Error('getTag not implemented');
210
+ }
211
+ async createTag(tagName, message, target) {
212
+ throw new Error('createTag not implemented');
213
+ }
214
+ async deleteTag(owner, repo, tag) {
215
+ throw new Error('deleteTag not implemented');
216
+ }
217
+ async getUser(username) {
218
+ throw new Error('getUser not implemented');
219
+ }
220
+ async listUsers(page = 1, limit = 30) {
221
+ throw new Error('listUsers not implemented');
222
+ }
223
+ async searchUsers(query, page = 1, limit = 30) {
224
+ throw new Error('searchUsers not implemented');
225
+ }
226
+ async listWebhooks(owner, repo, page = 1, limit = 30) {
227
+ throw new Error('listWebhooks not implemented');
228
+ }
229
+ async getWebhook(owner, repo, webhookId) {
230
+ throw new Error('getWebhook not implemented');
231
+ }
232
+ async createWebhook(owner, repo, url, events, secret) {
233
+ throw new Error('createWebhook not implemented');
234
+ }
235
+ async updateWebhook(owner, repo, webhookId, updates) {
236
+ throw new Error('updateWebhook not implemented');
237
+ }
238
+ async deleteWebhook(owner, repo, webhookId) {
239
+ throw new Error('deleteWebhook not implemented');
240
+ }
241
+ async createCommit(owner, repo, message, branch, changes) {
242
+ throw new Error('createCommit not implemented');
243
+ }
244
+ }
245
+ exports.BaseVcsProvider = BaseVcsProvider;
246
+ //# sourceMappingURL=base-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-provider.js","sourceRoot":"","sources":["../../src/providers/base-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Classe utilitária para padronizar tratamento de erros entre providers
3
+ * Fornece métodos consistentes para normalização e formatação de erros
4
+ */
5
+ export interface StandardError {
6
+ code: string;
7
+ message: string;
8
+ provider: string;
9
+ originalError?: any;
10
+ statusCode?: number;
11
+ retryable?: boolean;
12
+ }
13
+ export declare class ErrorHandler {
14
+ /**
15
+ * Normaliza erros de diferentes providers para formato padrão
16
+ */
17
+ static normalizeError(error: any, providerName: string): StandardError;
18
+ /**
19
+ * Mapeia códigos HTTP para códigos de erro padronizados
20
+ */
21
+ private static getErrorCode;
22
+ /**
23
+ * Gera mensagens de erro padronizadas e user-friendly
24
+ */
25
+ private static getErrorMessage;
26
+ /**
27
+ * Determina se um erro é passível de retry
28
+ */
29
+ private static isRetryable;
30
+ /**
31
+ * Extrai informações de rate limit dos headers
32
+ */
33
+ private static getRateLimitInfo;
34
+ /**
35
+ * Cria um Error padrão do JavaScript a partir de StandardError
36
+ */
37
+ static createError(standardError: StandardError): Error;
38
+ /**
39
+ * Formata erro para logging estruturado
40
+ */
41
+ static formatForLogging(standardError: StandardError): object;
42
+ /**
43
+ * Verifica se um erro é de um tipo específico
44
+ */
45
+ static isErrorType(error: any, type: string): boolean;
46
+ /**
47
+ * Verifica se um erro é retryable
48
+ */
49
+ static isRetryableError(error: any): boolean;
50
+ }
51
+ //# sourceMappingURL=error-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../src/providers/error-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,qBAAa,YAAY;IACvB;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,GAAG,aAAa;IAkCtE;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IA6B3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IA+B9B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAU1B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAW/B;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,aAAa,EAAE,aAAa,GAAG,KAAK;IASvD;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM;IAa7D;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAIrD;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;CAG7C"}
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+ /**
3
+ * Classe utilitária para padronizar tratamento de erros entre providers
4
+ * Fornece métodos consistentes para normalização e formatação de erros
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.ErrorHandler = void 0;
8
+ class ErrorHandler {
9
+ /**
10
+ * Normaliza erros de diferentes providers para formato padrão
11
+ */
12
+ static normalizeError(error, providerName) {
13
+ if (error.response) {
14
+ const status = error.response.status;
15
+ const data = error.response.data;
16
+ return {
17
+ code: this.getErrorCode(status),
18
+ message: this.getErrorMessage(status, data, providerName),
19
+ provider: providerName,
20
+ statusCode: status,
21
+ retryable: this.isRetryable(status),
22
+ originalError: error
23
+ };
24
+ }
25
+ if (error.request) {
26
+ return {
27
+ code: 'NETWORK_ERROR',
28
+ message: `${providerName}: Network error - No response received`,
29
+ provider: providerName,
30
+ retryable: true,
31
+ originalError: error
32
+ };
33
+ }
34
+ return {
35
+ code: 'UNKNOWN_ERROR',
36
+ message: `${providerName}: ${error.message || 'Unknown error'}`,
37
+ provider: providerName,
38
+ retryable: false,
39
+ originalError: error
40
+ };
41
+ }
42
+ /**
43
+ * Mapeia códigos HTTP para códigos de erro padronizados
44
+ */
45
+ static getErrorCode(status) {
46
+ switch (status) {
47
+ case 400:
48
+ return 'BAD_REQUEST';
49
+ case 401:
50
+ return 'UNAUTHORIZED';
51
+ case 403:
52
+ return 'FORBIDDEN';
53
+ case 404:
54
+ return 'NOT_FOUND';
55
+ case 409:
56
+ return 'CONFLICT';
57
+ case 422:
58
+ return 'VALIDATION_ERROR';
59
+ case 429:
60
+ return 'RATE_LIMITED';
61
+ case 500:
62
+ return 'INTERNAL_SERVER_ERROR';
63
+ case 502:
64
+ return 'BAD_GATEWAY';
65
+ case 503:
66
+ return 'SERVICE_UNAVAILABLE';
67
+ case 504:
68
+ return 'GATEWAY_TIMEOUT';
69
+ default:
70
+ return `HTTP_${status}`;
71
+ }
72
+ }
73
+ /**
74
+ * Gera mensagens de erro padronizadas e user-friendly
75
+ */
76
+ static getErrorMessage(status, data, provider) {
77
+ const baseMessage = data?.message || data?.error || '';
78
+ switch (status) {
79
+ case 400:
80
+ return `${provider}: Bad request - ${baseMessage || 'Invalid parameters'}`;
81
+ case 401:
82
+ return `${provider}: Unauthorized - Check your token and permissions`;
83
+ case 403:
84
+ return `${provider}: Forbidden - Insufficient permissions for this operation`;
85
+ case 404:
86
+ return `${provider}: Not found - Resource doesn't exist or has been deleted`;
87
+ case 409:
88
+ return `${provider}: Conflict - ${baseMessage || 'Resource already exists or conflicts with existing data'}`;
89
+ case 422:
90
+ return `${provider}: Validation error - ${baseMessage || 'Invalid data provided'}`;
91
+ case 429:
92
+ return `${provider}: Rate limited - Too many requests. ${this.getRateLimitInfo(data)}`;
93
+ case 500:
94
+ return `${provider}: Internal server error - ${baseMessage || 'Server encountered an error'}`;
95
+ case 502:
96
+ return `${provider}: Bad gateway - Server is temporarily unavailable`;
97
+ case 503:
98
+ return `${provider}: Service unavailable - Server is temporarily down for maintenance`;
99
+ case 504:
100
+ return `${provider}: Gateway timeout - Server took too long to respond`;
101
+ default:
102
+ return `${provider}: HTTP ${status} - ${baseMessage || 'Unknown error'}`;
103
+ }
104
+ }
105
+ /**
106
+ * Determina se um erro é passível de retry
107
+ */
108
+ static isRetryable(status) {
109
+ return [
110
+ 429, // Rate limited
111
+ 500, // Internal server error
112
+ 502, // Bad gateway
113
+ 503, // Service unavailable
114
+ 504 // Gateway timeout
115
+ ].includes(status);
116
+ }
117
+ /**
118
+ * Extrai informações de rate limit dos headers
119
+ */
120
+ static getRateLimitInfo(data) {
121
+ if (data?.headers) {
122
+ const resetTime = data.headers['x-ratelimit-reset'] || data.headers['x-rate-limit-reset'];
123
+ if (resetTime) {
124
+ const resetDate = new Date(parseInt(resetTime) * 1000);
125
+ return `Reset at: ${resetDate.toLocaleTimeString()}`;
126
+ }
127
+ }
128
+ return 'Please try again later';
129
+ }
130
+ /**
131
+ * Cria um Error padrão do JavaScript a partir de StandardError
132
+ */
133
+ static createError(standardError) {
134
+ const error = new Error(standardError.message);
135
+ error.code = standardError.code;
136
+ error.provider = standardError.provider;
137
+ error.statusCode = standardError.statusCode;
138
+ error.retryable = standardError.retryable;
139
+ return error;
140
+ }
141
+ /**
142
+ * Formata erro para logging estruturado
143
+ */
144
+ static formatForLogging(standardError) {
145
+ return {
146
+ timestamp: new Date().toISOString(),
147
+ level: 'error',
148
+ code: standardError.code,
149
+ message: standardError.message,
150
+ provider: standardError.provider,
151
+ statusCode: standardError.statusCode,
152
+ retryable: standardError.retryable,
153
+ stack: standardError.originalError?.stack
154
+ };
155
+ }
156
+ /**
157
+ * Verifica se um erro é de um tipo específico
158
+ */
159
+ static isErrorType(error, type) {
160
+ return error?.code === type;
161
+ }
162
+ /**
163
+ * Verifica se um erro é retryable
164
+ */
165
+ static isRetryableError(error) {
166
+ return error?.retryable === true;
167
+ }
168
+ }
169
+ exports.ErrorHandler = ErrorHandler;
170
+ //# sourceMappingURL=error-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/providers/error-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import { BaseVcsProvider } from './base-provider.js';
2
+ import { VcsProvider, RepositoryInfo, BranchInfo, FileInfo, CommitInfo, IssueInfo, PullRequestInfo, ReleaseInfo, TagInfo, UserInfo, WebhookInfo } from './types.js';
3
+ /**
4
+ * Provider específico para Gitea
5
+ * Implementa todas as operações VCS usando a API do Gitea
6
+ */
7
+ export declare class GiteaProvider extends BaseVcsProvider {
8
+ constructor(config: VcsProvider);
9
+ protected getBaseUrl(config: VcsProvider): string;
10
+ protected getHeaders(config: VcsProvider): Record<string, string>;
11
+ protected normalizeRepository(data: any): RepositoryInfo;
12
+ protected normalizeBranch(data: any): BranchInfo;
13
+ protected normalizeFile(data: any): FileInfo;
14
+ protected normalizeCommit(data: any): CommitInfo;
15
+ protected normalizeIssue(data: any): IssueInfo;
16
+ protected normalizePullRequest(data: any): PullRequestInfo;
17
+ protected normalizeRelease(data: any): ReleaseInfo;
18
+ protected normalizeTag(data: any): TagInfo;
19
+ protected normalizeUser(data: any): UserInfo;
20
+ protected normalizeWebhook(data: any): WebhookInfo;
21
+ listRepositories(username?: string, page?: number, limit?: number): Promise<RepositoryInfo[]>;
22
+ getRepository(owner: string, repo: string): Promise<RepositoryInfo>;
23
+ createRepository(name: string, description?: string, privateRepo?: boolean): Promise<RepositoryInfo>;
24
+ updateRepository(owner: string, repo: string, updates: any): Promise<RepositoryInfo>;
25
+ deleteRepository(owner: string, repo: string): Promise<boolean>;
26
+ forkRepository(owner: string, repo: string, organization?: string): Promise<RepositoryInfo>;
27
+ searchRepositories(query: string, page?: number, limit?: number): Promise<RepositoryInfo[]>;
28
+ listBranches(owner: string, repo: string, page?: number, limit?: number): Promise<BranchInfo[]>;
29
+ getBranch(owner: string, repo: string, branch: string): Promise<BranchInfo>;
30
+ createBranch(owner: string, repo: string, branchName: string, fromBranch: string): Promise<BranchInfo>;
31
+ deleteBranch(owner: string, repo: string, branch: string): Promise<boolean>;
32
+ getFile(owner: string, repo: string, path: string, ref?: string): Promise<FileInfo>;
33
+ createFile(owner: string, repo: string, path: string, content: string, message: string, branch?: string): Promise<FileInfo>;
34
+ updateFile(owner: string, repo: string, path: string, content: string, message: string, sha: string, branch?: string): Promise<FileInfo>;
35
+ deleteFile(owner: string, repo: string, path: string, message: string, sha: string, branch?: string): Promise<boolean>;
36
+ listFiles(owner: string, repo: string, path: string, ref?: string): Promise<FileInfo[]>;
37
+ listCommits(owner: string, repo: string, branch?: string, page?: number, limit?: number): Promise<CommitInfo[]>;
38
+ getCommit(owner: string, repo: string, sha: string): Promise<CommitInfo>;
39
+ createCommit(owner: string, repo: string, message: string, branch: string, changes?: any): Promise<CommitInfo>;
40
+ listIssues(owner: string, repo: string, state?: 'open' | 'closed' | 'all', page?: number, limit?: number): Promise<IssueInfo[]>;
41
+ getIssue(owner: string, repo: string, issueNumber: number): Promise<IssueInfo>;
42
+ createIssue(owner: string, repo: string, title: string, body?: string, assignees?: string[], labels?: string[]): Promise<IssueInfo>;
43
+ updateIssue(owner: string, repo: string, issueNumber: number, updates: any): Promise<IssueInfo>;
44
+ closeIssue(owner: string, repo: string, issueNumber: number): Promise<IssueInfo>;
45
+ listPullRequests(owner: string, repo: string, state?: 'open' | 'closed' | 'merged' | 'all', page?: number, limit?: number): Promise<PullRequestInfo[]>;
46
+ getPullRequest(owner: string, repo: string, pullNumber: number): Promise<PullRequestInfo>;
47
+ createPullRequest(owner: string, repo: string, title: string, body: string, head: string, base: string): Promise<PullRequestInfo>;
48
+ updatePullRequest(owner: string, repo: string, pullNumber: number, updates: any): Promise<PullRequestInfo>;
49
+ mergePullRequest(owner: string, repo: string, pullNumber: number, mergeMethod?: 'merge' | 'rebase' | 'squash'): Promise<boolean>;
50
+ listReleases(owner: string, repo: string, page?: number, limit?: number): Promise<ReleaseInfo[]>;
51
+ getRelease(owner: string, repo: string, releaseId: number): Promise<ReleaseInfo>;
52
+ createRelease(tagName: string, name: string, body?: string, draft?: boolean, prerelease?: boolean): Promise<ReleaseInfo>;
53
+ updateRelease(releaseId: number, updates: any): Promise<ReleaseInfo>;
54
+ deleteRelease(releaseId: number): Promise<boolean>;
55
+ listTags(owner: string, repo: string, page?: number, limit?: number): Promise<TagInfo[]>;
56
+ getTag(owner: string, repo: string, tag: string): Promise<TagInfo>;
57
+ createTag(tagName: string, message: string, target: string): Promise<TagInfo>;
58
+ deleteTag(owner: string, repo: string, tag: string): Promise<boolean>;
59
+ getUser(username: string): Promise<UserInfo>;
60
+ listUsers(page?: number, limit?: number): Promise<UserInfo[]>;
61
+ searchUsers(query: string, page?: number, limit?: number): Promise<UserInfo[]>;
62
+ listWebhooks(owner: string, repo: string, page?: number, limit?: number): Promise<WebhookInfo[]>;
63
+ getWebhook(owner: string, repo: string, webhookId: number): Promise<WebhookInfo>;
64
+ createWebhook(owner: string, repo: string, url: string, events: string[], secret?: string): Promise<WebhookInfo>;
65
+ updateWebhook(owner: string, repo: string, webhookId: number, updates: any): Promise<WebhookInfo>;
66
+ deleteWebhook(owner: string, repo: string, webhookId: number): Promise<boolean>;
67
+ }
68
+ //# sourceMappingURL=gitea-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gitea-provider.d.ts","sourceRoot":"","sources":["../../src/providers/gitea-provider.ts"],"names":[],"mappings":"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"}