@andrebuzeli/git-mcp 2.28.1 → 2.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/dist/client.d.ts +306 -306
  2. package/dist/client.js +298 -298
  3. package/dist/config.d.ts +310 -310
  4. package/dist/config.js +392 -392
  5. package/dist/index.d.ts +22 -22
  6. package/dist/index.js +89 -89
  7. package/dist/providers/base-provider.d.ts +160 -160
  8. package/dist/providers/base-provider.js +274 -274
  9. package/dist/providers/error-handler.d.ts +74 -50
  10. package/dist/providers/error-handler.d.ts.map +1 -1
  11. package/dist/providers/error-handler.js +234 -175
  12. package/dist/providers/error-handler.js.map +1 -1
  13. package/dist/providers/gitea-provider.d.ts +97 -97
  14. package/dist/providers/gitea-provider.d.ts.map +1 -1
  15. package/dist/providers/gitea-provider.js +1015 -1001
  16. package/dist/providers/gitea-provider.js.map +1 -1
  17. package/dist/providers/github-provider.d.ts +104 -104
  18. package/dist/providers/github-provider.d.ts.map +1 -1
  19. package/dist/providers/github-provider.js +1248 -1234
  20. package/dist/providers/github-provider.js.map +1 -1
  21. package/dist/providers/index.d.ts +12 -12
  22. package/dist/providers/index.js +40 -40
  23. package/dist/providers/provider-factory.d.ts +74 -74
  24. package/dist/providers/provider-factory.d.ts.map +1 -1
  25. package/dist/providers/provider-factory.js +318 -311
  26. package/dist/providers/provider-factory.js.map +1 -1
  27. package/dist/providers/types.d.ts +318 -318
  28. package/dist/providers/types.js +6 -6
  29. package/dist/server.d.ts +76 -76
  30. package/dist/server.js +306 -306
  31. package/dist/server.js.map +1 -1
  32. package/dist/tools/git-archive.d.ts +169 -165
  33. package/dist/tools/git-archive.d.ts.map +1 -1
  34. package/dist/tools/git-archive.js +246 -233
  35. package/dist/tools/git-archive.js.map +1 -1
  36. package/dist/tools/git-branches.d.ts +434 -430
  37. package/dist/tools/git-branches.d.ts.map +1 -1
  38. package/dist/tools/git-branches.js +640 -627
  39. package/dist/tools/git-branches.js.map +1 -1
  40. package/dist/tools/git-commits.d.ts +489 -485
  41. package/dist/tools/git-commits.d.ts.map +1 -1
  42. package/dist/tools/git-commits.js +748 -735
  43. package/dist/tools/git-commits.js.map +1 -1
  44. package/dist/tools/git-config.d.ts +144 -140
  45. package/dist/tools/git-config.d.ts.map +1 -1
  46. package/dist/tools/git-config.js +281 -268
  47. package/dist/tools/git-config.js.map +1 -1
  48. package/dist/tools/git-files.d.ts +490 -486
  49. package/dist/tools/git-files.d.ts.map +1 -1
  50. package/dist/tools/git-files.js +620 -607
  51. package/dist/tools/git-files.js.map +1 -1
  52. package/dist/tools/git-initialize.d.ts +46 -42
  53. package/dist/tools/git-initialize.d.ts.map +1 -1
  54. package/dist/tools/git-initialize.js +81 -68
  55. package/dist/tools/git-initialize.js.map +1 -1
  56. package/dist/tools/git-issues.d.ts +578 -571
  57. package/dist/tools/git-issues.d.ts.map +1 -1
  58. package/dist/tools/git-issues.js +754 -740
  59. package/dist/tools/git-issues.js.map +1 -1
  60. package/dist/tools/git-pulls.d.ts +701 -694
  61. package/dist/tools/git-pulls.d.ts.map +1 -1
  62. package/dist/tools/git-pulls.js +746 -732
  63. package/dist/tools/git-pulls.js.map +1 -1
  64. package/dist/tools/git-releases.d.ts +494 -487
  65. package/dist/tools/git-releases.d.ts.map +1 -1
  66. package/dist/tools/git-releases.js +571 -557
  67. package/dist/tools/git-releases.js.map +1 -1
  68. package/dist/tools/git-remote.d.ts +142 -138
  69. package/dist/tools/git-remote.d.ts.map +1 -1
  70. package/dist/tools/git-remote.js +287 -274
  71. package/dist/tools/git-remote.js.map +1 -1
  72. package/dist/tools/git-repositories.d.ts +487 -483
  73. package/dist/tools/git-repositories.d.ts.map +1 -1
  74. package/dist/tools/git-repositories.js +653 -640
  75. package/dist/tools/git-repositories.js.map +1 -1
  76. package/dist/tools/git-reset.d.ts +134 -130
  77. package/dist/tools/git-reset.d.ts.map +1 -1
  78. package/dist/tools/git-reset.js +236 -223
  79. package/dist/tools/git-reset.js.map +1 -1
  80. package/dist/tools/git-revert.d.ts +153 -149
  81. package/dist/tools/git-revert.d.ts.map +1 -1
  82. package/dist/tools/git-revert.js +211 -198
  83. package/dist/tools/git-revert.js.map +1 -1
  84. package/dist/tools/git-stash.d.ts +144 -140
  85. package/dist/tools/git-stash.d.ts.map +1 -1
  86. package/dist/tools/git-stash.js +282 -269
  87. package/dist/tools/git-stash.js.map +1 -1
  88. package/dist/tools/git-sync.d.ts +182 -178
  89. package/dist/tools/git-sync.d.ts.map +1 -1
  90. package/dist/tools/git-sync.js +325 -312
  91. package/dist/tools/git-sync.js.map +1 -1
  92. package/dist/tools/git-tags.d.ts +418 -411
  93. package/dist/tools/git-tags.d.ts.map +1 -1
  94. package/dist/tools/git-tags.js +499 -485
  95. package/dist/tools/git-tags.js.map +1 -1
  96. package/dist/tools/git-upload-project.d.ts +5 -1
  97. package/dist/tools/git-upload-project.d.ts.map +1 -1
  98. package/dist/tools/git-upload-project.js +21 -1
  99. package/dist/tools/git-upload-project.js.map +1 -1
  100. package/dist/tools/git-webhooks.d.ts +477 -470
  101. package/dist/tools/git-webhooks.d.ts.map +1 -1
  102. package/dist/tools/git-webhooks.js +561 -543
  103. package/dist/tools/git-webhooks.js.map +1 -1
  104. package/dist/utils/git-error-analyzer.d.ts +64 -0
  105. package/dist/utils/git-error-analyzer.d.ts.map +1 -0
  106. package/dist/utils/git-error-analyzer.js +286 -0
  107. package/dist/utils/git-error-analyzer.js.map +1 -0
  108. package/dist/utils/terminal-controller.d.ts +80 -80
  109. package/dist/utils/terminal-controller.js +345 -345
  110. package/dist/utils/user-detection.d.ts +24 -24
  111. package/dist/utils/user-detection.js +53 -53
  112. package/package.json +2 -2
  113. package/dist/tools/gh-actions.d.ts +0 -253
  114. package/dist/tools/gh-actions.d.ts.map +0 -1
  115. package/dist/tools/gh-actions.js +0 -390
  116. package/dist/tools/gh-actions.js.map +0 -1
  117. package/dist/tools/gh-analytics.d.ts +0 -264
  118. package/dist/tools/gh-analytics.d.ts.map +0 -1
  119. package/dist/tools/gh-analytics.js +0 -402
  120. package/dist/tools/gh-analytics.js.map +0 -1
  121. package/dist/tools/gh-code-review.d.ts +0 -305
  122. package/dist/tools/gh-code-review.d.ts.map +0 -1
  123. package/dist/tools/gh-code-review.js +0 -513
  124. package/dist/tools/gh-code-review.js.map +0 -1
  125. package/dist/tools/gh-codespaces.d.ts +0 -139
  126. package/dist/tools/gh-codespaces.d.ts.map +0 -1
  127. package/dist/tools/gh-codespaces.js +0 -283
  128. package/dist/tools/gh-codespaces.js.map +0 -1
  129. package/dist/tools/gh-deployments.d.ts +0 -301
  130. package/dist/tools/gh-deployments.d.ts.map +0 -1
  131. package/dist/tools/gh-deployments.js +0 -368
  132. package/dist/tools/gh-deployments.js.map +0 -1
  133. package/dist/tools/gh-gists.d.ts +0 -175
  134. package/dist/tools/gh-gists.d.ts.map +0 -1
  135. package/dist/tools/gh-gists.js +0 -322
  136. package/dist/tools/gh-gists.js.map +0 -1
  137. package/dist/tools/gh-projects.d.ts +0 -206
  138. package/dist/tools/gh-projects.d.ts.map +0 -1
  139. package/dist/tools/gh-projects.js +0 -359
  140. package/dist/tools/gh-projects.js.map +0 -1
  141. package/dist/tools/gh-security.d.ts +0 -275
  142. package/dist/tools/gh-security.d.ts.map +0 -1
  143. package/dist/tools/gh-security.js +0 -396
  144. package/dist/tools/gh-security.js.map +0 -1
  145. package/dist/tools/gh-sync.d.ts +0 -214
  146. package/dist/tools/gh-sync.d.ts.map +0 -1
  147. package/dist/tools/gh-sync.js +0 -379
  148. package/dist/tools/gh-sync.js.map +0 -1
  149. package/dist/tools/gh-workflows.d.ts +0 -291
  150. package/dist/tools/gh-workflows.d.ts.map +0 -1
  151. package/dist/tools/gh-workflows.js +0 -433
  152. package/dist/tools/gh-workflows.js.map +0 -1
  153. package/dist/tools/git-bundle.d.ts +0 -172
  154. package/dist/tools/git-bundle.d.ts.map +0 -1
  155. package/dist/tools/git-bundle.js +0 -242
  156. package/dist/tools/git-bundle.js.map +0 -1
  157. package/dist/tools/git-cherry-pick.d.ts +0 -159
  158. package/dist/tools/git-cherry-pick.d.ts.map +0 -1
  159. package/dist/tools/git-cherry-pick.js +0 -225
  160. package/dist/tools/git-cherry-pick.js.map +0 -1
  161. package/dist/tools/git-rebase.d.ts +0 -138
  162. package/dist/tools/git-rebase.d.ts.map +0 -1
  163. package/dist/tools/git-rebase.js +0 -214
  164. package/dist/tools/git-rebase.js.map +0 -1
  165. package/dist/tools/git-submodule.d.ts +0 -153
  166. package/dist/tools/git-submodule.d.ts.map +0 -1
  167. package/dist/tools/git-submodule.js +0 -290
  168. package/dist/tools/git-submodule.js.map +0 -1
  169. package/dist/tools/git-worktree.d.ts +0 -160
  170. package/dist/tools/git-worktree.d.ts.map +0 -1
  171. package/dist/tools/git-worktree.js +0 -270
  172. package/dist/tools/git-worktree.js.map +0 -1
  173. package/dist/tools/repositories.d.ts +0 -406
  174. package/dist/tools/repositories.d.ts.map +0 -1
  175. package/dist/tools/repositories.js +0 -570
  176. package/dist/tools/repositories.js.map +0 -1
  177. package/dist/tools/users.d.ts +0 -373
  178. package/dist/tools/users.d.ts.map +0 -1
  179. package/dist/tools/users.js +0 -500
  180. package/dist/tools/users.js.map +0 -1
  181. package/dist/tools/validator.d.ts +0 -171
  182. package/dist/tools/validator.d.ts.map +0 -1
  183. package/dist/tools/validator.js +0 -195
  184. package/dist/tools/validator.js.map +0 -1
  185. package/dist/tools/version-control.d.ts +0 -137
  186. package/dist/tools/version-control.d.ts.map +0 -1
  187. package/dist/tools/version-control.js +0 -165
  188. package/dist/tools/version-control.js.map +0 -1
@@ -1,51 +1,75 @@
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
- }
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
+ * NOVA FUNCIONALIDADE:
6
+ * - Análise inteligente de erros Git
7
+ * - Sugestões automáticas de solução
8
+ * - Integração com GitErrorAnalyzer
9
+ */
10
+ import { IntelligentErrorResponse } from '../utils/git-error-analyzer.js';
11
+ export interface StandardError {
12
+ code: string;
13
+ message: string;
14
+ provider: string;
15
+ originalError?: any;
16
+ statusCode?: number;
17
+ retryable?: boolean;
18
+ analysis?: any;
19
+ suggestedSolutions?: string[];
20
+ }
21
+ export declare class ErrorHandler {
22
+ /**
23
+ * Normaliza erros de diferentes providers para formato padrão
24
+ */
25
+ static normalizeError(error: any, providerName: string): StandardError;
26
+ /**
27
+ * Mapeia códigos HTTP para códigos de erro padronizados
28
+ */
29
+ private static getErrorCode;
30
+ /**
31
+ * Gera mensagens de erro padronizadas e user-friendly
32
+ */
33
+ private static getErrorMessage;
34
+ /**
35
+ * Determina se um erro é passível de retry
36
+ */
37
+ private static isRetryable;
38
+ /**
39
+ * Extrai informações de rate limit dos headers
40
+ */
41
+ private static getRateLimitInfo;
42
+ /**
43
+ * Cria um Error padrão do JavaScript a partir de StandardError
44
+ */
45
+ static createError(standardError: StandardError): Error;
46
+ /**
47
+ * Formata erro para logging estruturado
48
+ */
49
+ static formatForLogging(standardError: StandardError): object;
50
+ /**
51
+ * Verifica se um erro é de um tipo específico
52
+ */
53
+ static isErrorType(error: any, type: string): boolean;
54
+ /**
55
+ * Verifica se um erro é retryable
56
+ */
57
+ static isRetryableError(error: any): boolean;
58
+ /**
59
+ * NOVO: Cria resposta inteligente de erro com análise Git
60
+ */
61
+ static createIntelligentGitError(action: string, error: string, provider?: string, context?: string): IntelligentErrorResponse;
62
+ /**
63
+ * NOVO: Gera próximos passos inteligentes baseados na análise
64
+ */
65
+ private static generateIntelligentNextSteps;
66
+ /**
67
+ * NOVO: Verifica se erro Git pode ser resolvido automaticamente
68
+ */
69
+ static isGitErrorAutoFixable(error: string): boolean;
70
+ /**
71
+ * NOVO: Retorna tools que podem resolver o erro Git
72
+ */
73
+ static getGitErrorRelatedTools(error: string): string[];
74
+ }
51
75
  //# sourceMappingURL=error-handler.d.ts.map
@@ -1 +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;IAqC9B;;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"}
1
+ {"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../src/providers/error-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAoB,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE5F,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;IACpB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;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;IAqC9B;;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;IAI5C;;OAEG;IACH,MAAM,CAAC,yBAAyB,CAC9B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,QAAQ,GAAE,MAAc,EACxB,OAAO,GAAE,MAAW,GACnB,wBAAwB;IAa3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,4BAA4B;IA4B3C;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIpD;;OAEG;IACH,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;CAGxD"}
@@ -1,176 +1,235 @@
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
- if (baseMessage.includes('user') || baseMessage.includes('User')) {
87
- return `${provider}: User not found - The specified user doesn't exist or has been deleted`;
88
- }
89
- return `${provider}: Not found - Resource doesn't exist or has been deleted`;
90
- case 409:
91
- if (baseMessage.includes('already exists') || baseMessage.includes('Conflict')) {
92
- return `${provider}: Resource already exists - ${baseMessage || 'The resource already exists'}`;
93
- }
94
- return `${provider}: Conflict - ${baseMessage || 'Resource already exists or conflicts with existing data'}`;
95
- case 422:
96
- return `${provider}: Validation error - ${baseMessage || 'Invalid data provided'}`;
97
- case 429:
98
- return `${provider}: Rate limited - Too many requests. ${this.getRateLimitInfo(data)}`;
99
- case 500:
100
- return `${provider}: Internal server error - ${baseMessage || 'Server encountered an error'}`;
101
- case 502:
102
- return `${provider}: Bad gateway - Server is temporarily unavailable`;
103
- case 503:
104
- return `${provider}: Service unavailable - Server is temporarily down for maintenance`;
105
- case 504:
106
- return `${provider}: Gateway timeout - Server took too long to respond`;
107
- default:
108
- return `${provider}: HTTP ${status} - ${baseMessage || 'Unknown error'}`;
109
- }
110
- }
111
- /**
112
- * Determina se um erro é passível de retry
113
- */
114
- static isRetryable(status) {
115
- return [
116
- 429, // Rate limited
117
- 500, // Internal server error
118
- 502, // Bad gateway
119
- 503, // Service unavailable
120
- 504 // Gateway timeout
121
- ].includes(status);
122
- }
123
- /**
124
- * Extrai informações de rate limit dos headers
125
- */
126
- static getRateLimitInfo(data) {
127
- if (data?.headers) {
128
- const resetTime = data.headers['x-ratelimit-reset'] || data.headers['x-rate-limit-reset'];
129
- if (resetTime) {
130
- const resetDate = new Date(parseInt(resetTime) * 1000);
131
- return `Reset at: ${resetDate.toLocaleTimeString()}`;
132
- }
133
- }
134
- return 'Please try again later';
135
- }
136
- /**
137
- * Cria um Error padrão do JavaScript a partir de StandardError
138
- */
139
- static createError(standardError) {
140
- const error = new Error(standardError.message);
141
- error.code = standardError.code;
142
- error.provider = standardError.provider;
143
- error.statusCode = standardError.statusCode;
144
- error.retryable = standardError.retryable;
145
- return error;
146
- }
147
- /**
148
- * Formata erro para logging estruturado
149
- */
150
- static formatForLogging(standardError) {
151
- return {
152
- timestamp: new Date().toISOString(),
153
- level: 'error',
154
- code: standardError.code,
155
- message: standardError.message,
156
- provider: standardError.provider,
157
- statusCode: standardError.statusCode,
158
- retryable: standardError.retryable,
159
- stack: standardError.originalError?.stack
160
- };
161
- }
162
- /**
163
- * Verifica se um erro é de um tipo específico
164
- */
165
- static isErrorType(error, type) {
166
- return error?.code === type;
167
- }
168
- /**
169
- * Verifica se um erro é retryable
170
- */
171
- static isRetryableError(error) {
172
- return error?.retryable === true;
173
- }
174
- }
175
- exports.ErrorHandler = ErrorHandler;
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
+ * NOVA FUNCIONALIDADE:
7
+ * - Análise inteligente de erros Git
8
+ * - Sugestões automáticas de solução
9
+ * - Integração com GitErrorAnalyzer
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ErrorHandler = void 0;
13
+ const git_error_analyzer_js_1 = require("../utils/git-error-analyzer.js");
14
+ class ErrorHandler {
15
+ /**
16
+ * Normaliza erros de diferentes providers para formato padrão
17
+ */
18
+ static normalizeError(error, providerName) {
19
+ if (error.response) {
20
+ const status = error.response.status;
21
+ const data = error.response.data;
22
+ return {
23
+ code: this.getErrorCode(status),
24
+ message: this.getErrorMessage(status, data, providerName),
25
+ provider: providerName,
26
+ statusCode: status,
27
+ retryable: this.isRetryable(status),
28
+ originalError: error
29
+ };
30
+ }
31
+ if (error.request) {
32
+ return {
33
+ code: 'NETWORK_ERROR',
34
+ message: `${providerName}: Network error - No response received`,
35
+ provider: providerName,
36
+ retryable: true,
37
+ originalError: error
38
+ };
39
+ }
40
+ return {
41
+ code: 'UNKNOWN_ERROR',
42
+ message: `${providerName}: ${error.message || 'Unknown error'}`,
43
+ provider: providerName,
44
+ retryable: false,
45
+ originalError: error
46
+ };
47
+ }
48
+ /**
49
+ * Mapeia códigos HTTP para códigos de erro padronizados
50
+ */
51
+ static getErrorCode(status) {
52
+ switch (status) {
53
+ case 400:
54
+ return 'BAD_REQUEST';
55
+ case 401:
56
+ return 'UNAUTHORIZED';
57
+ case 403:
58
+ return 'FORBIDDEN';
59
+ case 404:
60
+ return 'NOT_FOUND';
61
+ case 409:
62
+ return 'CONFLICT';
63
+ case 422:
64
+ return 'VALIDATION_ERROR';
65
+ case 429:
66
+ return 'RATE_LIMITED';
67
+ case 500:
68
+ return 'INTERNAL_SERVER_ERROR';
69
+ case 502:
70
+ return 'BAD_GATEWAY';
71
+ case 503:
72
+ return 'SERVICE_UNAVAILABLE';
73
+ case 504:
74
+ return 'GATEWAY_TIMEOUT';
75
+ default:
76
+ return `HTTP_${status}`;
77
+ }
78
+ }
79
+ /**
80
+ * Gera mensagens de erro padronizadas e user-friendly
81
+ */
82
+ static getErrorMessage(status, data, provider) {
83
+ const baseMessage = data?.message || data?.error || '';
84
+ switch (status) {
85
+ case 400:
86
+ return `${provider}: Bad request - ${baseMessage || 'Invalid parameters'}`;
87
+ case 401:
88
+ return `${provider}: Unauthorized - Check your token and permissions`;
89
+ case 403:
90
+ return `${provider}: Forbidden - Insufficient permissions for this operation`;
91
+ case 404:
92
+ if (baseMessage.includes('user') || baseMessage.includes('User')) {
93
+ return `${provider}: User not found - The specified user doesn't exist or has been deleted`;
94
+ }
95
+ return `${provider}: Not found - Resource doesn't exist or has been deleted`;
96
+ case 409:
97
+ if (baseMessage.includes('already exists') || baseMessage.includes('Conflict')) {
98
+ return `${provider}: Resource already exists - ${baseMessage || 'The resource already exists'}`;
99
+ }
100
+ return `${provider}: Conflict - ${baseMessage || 'Resource already exists or conflicts with existing data'}`;
101
+ case 422:
102
+ return `${provider}: Validation error - ${baseMessage || 'Invalid data provided'}`;
103
+ case 429:
104
+ return `${provider}: Rate limited - Too many requests. ${this.getRateLimitInfo(data)}`;
105
+ case 500:
106
+ return `${provider}: Internal server error - ${baseMessage || 'Server encountered an error'}`;
107
+ case 502:
108
+ return `${provider}: Bad gateway - Server is temporarily unavailable`;
109
+ case 503:
110
+ return `${provider}: Service unavailable - Server is temporarily down for maintenance`;
111
+ case 504:
112
+ return `${provider}: Gateway timeout - Server took too long to respond`;
113
+ default:
114
+ return `${provider}: HTTP ${status} - ${baseMessage || 'Unknown error'}`;
115
+ }
116
+ }
117
+ /**
118
+ * Determina se um erro é passível de retry
119
+ */
120
+ static isRetryable(status) {
121
+ return [
122
+ 429, // Rate limited
123
+ 500, // Internal server error
124
+ 502, // Bad gateway
125
+ 503, // Service unavailable
126
+ 504 // Gateway timeout
127
+ ].includes(status);
128
+ }
129
+ /**
130
+ * Extrai informações de rate limit dos headers
131
+ */
132
+ static getRateLimitInfo(data) {
133
+ if (data?.headers) {
134
+ const resetTime = data.headers['x-ratelimit-reset'] || data.headers['x-rate-limit-reset'];
135
+ if (resetTime) {
136
+ const resetDate = new Date(parseInt(resetTime) * 1000);
137
+ return `Reset at: ${resetDate.toLocaleTimeString()}`;
138
+ }
139
+ }
140
+ return 'Please try again later';
141
+ }
142
+ /**
143
+ * Cria um Error padrão do JavaScript a partir de StandardError
144
+ */
145
+ static createError(standardError) {
146
+ const error = new Error(standardError.message);
147
+ error.code = standardError.code;
148
+ error.provider = standardError.provider;
149
+ error.statusCode = standardError.statusCode;
150
+ error.retryable = standardError.retryable;
151
+ return error;
152
+ }
153
+ /**
154
+ * Formata erro para logging estruturado
155
+ */
156
+ static formatForLogging(standardError) {
157
+ return {
158
+ timestamp: new Date().toISOString(),
159
+ level: 'error',
160
+ code: standardError.code,
161
+ message: standardError.message,
162
+ provider: standardError.provider,
163
+ statusCode: standardError.statusCode,
164
+ retryable: standardError.retryable,
165
+ stack: standardError.originalError?.stack
166
+ };
167
+ }
168
+ /**
169
+ * Verifica se um erro é de um tipo específico
170
+ */
171
+ static isErrorType(error, type) {
172
+ return error?.code === type;
173
+ }
174
+ /**
175
+ * Verifica se um erro é retryable
176
+ */
177
+ static isRetryableError(error) {
178
+ return error?.retryable === true;
179
+ }
180
+ /**
181
+ * NOVO: Cria resposta inteligente de erro com análise Git
182
+ */
183
+ static createIntelligentGitError(action, error, provider = 'git', context = '') {
184
+ const analysis = git_error_analyzer_js_1.GitErrorAnalyzer.analyzeGitError(error, context);
185
+ return {
186
+ success: false,
187
+ action,
188
+ message: `[${provider.toUpperCase()}] ${analysis.cause}`,
189
+ error: error,
190
+ analysis,
191
+ nextSteps: this.generateIntelligentNextSteps(analysis, provider)
192
+ };
193
+ }
194
+ /**
195
+ * NOVO: Gera próximos passos inteligentes baseados na análise
196
+ */
197
+ static generateIntelligentNextSteps(analysis, provider) {
198
+ const steps = [];
199
+ steps.push(`🔍 ANÁLISE DO ERRO:`);
200
+ steps.push(` Tipo: ${analysis.errorType}`);
201
+ steps.push(` Causa: ${analysis.cause}`);
202
+ steps.push(` Solução: ${analysis.solution}`);
203
+ if (analysis.autoFixable) {
204
+ steps.push(`✅ RESOLUÇÃO AUTOMÁTICA DISPONÍVEL:`);
205
+ steps.push(` Este erro pode ser resolvido automaticamente usando outras tools.`);
206
+ steps.push(` Tools recomendadas:`);
207
+ analysis.relatedTools.forEach((tool) => {
208
+ steps.push(` - ${tool}`);
209
+ });
210
+ }
211
+ else {
212
+ steps.push(`⚠️ AÇÃO MANUAL NECESSÁRIA:`);
213
+ steps.push(` Comandos Git sugeridos:`);
214
+ analysis.suggestedCommands.forEach((cmd) => {
215
+ steps.push(` - ${cmd}`);
216
+ });
217
+ }
218
+ steps.push(`💡 DICA: Use as tools relacionadas para resolver automaticamente!`);
219
+ return steps;
220
+ }
221
+ /**
222
+ * NOVO: Verifica se erro Git pode ser resolvido automaticamente
223
+ */
224
+ static isGitErrorAutoFixable(error) {
225
+ return git_error_analyzer_js_1.GitErrorAnalyzer.isAutoFixable(error);
226
+ }
227
+ /**
228
+ * NOVO: Retorna tools que podem resolver o erro Git
229
+ */
230
+ static getGitErrorRelatedTools(error) {
231
+ return git_error_analyzer_js_1.GitErrorAnalyzer.getRelatedTools(error);
232
+ }
233
+ }
234
+ exports.ErrorHandler = ErrorHandler;
176
235
  //# sourceMappingURL=error-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/providers/error-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/providers/error-handler.ts"],"names":[],"mappings":"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"}