@andrebuzeli/git-mcp 5.0.5 → 5.0.6

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 (215) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +143 -89
  3. package/dist/config.d.ts +72 -71
  4. package/dist/config.d.ts.map +1 -1
  5. package/dist/config.js +226 -139
  6. package/dist/config.js.map +1 -1
  7. package/dist/index.d.ts +15 -17
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +133 -128
  10. package/dist/index.js.map +1 -1
  11. package/dist/providers/base-provider.d.ts +42 -153
  12. package/dist/providers/base-provider.d.ts.map +1 -1
  13. package/dist/providers/base-provider.js +42 -302
  14. package/dist/providers/base-provider.js.map +1 -1
  15. package/dist/providers/gitea-provider.d.ts +67 -118
  16. package/dist/providers/gitea-provider.d.ts.map +1 -1
  17. package/dist/providers/gitea-provider.js +487 -1161
  18. package/dist/providers/gitea-provider.js.map +1 -1
  19. package/dist/providers/github-provider.d.ts +70 -81
  20. package/dist/providers/github-provider.d.ts.map +1 -1
  21. package/dist/providers/github-provider.js +641 -278
  22. package/dist/providers/github-provider.js.map +1 -1
  23. package/dist/providers/index.d.ts +9 -9
  24. package/dist/providers/index.d.ts.map +1 -1
  25. package/dist/providers/index.js +13 -19
  26. package/dist/providers/index.js.map +1 -1
  27. package/dist/providers/provider-factory.d.ts +29 -59
  28. package/dist/providers/provider-factory.d.ts.map +1 -1
  29. package/dist/providers/provider-factory.js +134 -265
  30. package/dist/providers/provider-factory.js.map +1 -1
  31. package/dist/providers/provider-operation-handler.d.ts +93 -0
  32. package/dist/providers/provider-operation-handler.d.ts.map +1 -0
  33. package/dist/providers/provider-operation-handler.js +280 -0
  34. package/dist/providers/provider-operation-handler.js.map +1 -0
  35. package/dist/providers/types.d.ts +201 -355
  36. package/dist/providers/types.d.ts.map +1 -1
  37. package/dist/providers/types.js +3 -2
  38. package/dist/providers/types.js.map +1 -1
  39. package/dist/server.d.ts +34 -8
  40. package/dist/server.d.ts.map +1 -1
  41. package/dist/server.js +436 -494
  42. package/dist/server.js.map +1 -1
  43. package/dist/tools/git-analytics.d.ts +239 -16
  44. package/dist/tools/git-analytics.d.ts.map +1 -1
  45. package/dist/tools/git-analytics.js +737 -25
  46. package/dist/tools/git-analytics.js.map +1 -1
  47. package/dist/tools/git-archive.d.ts +109 -15
  48. package/dist/tools/git-archive.d.ts.map +1 -1
  49. package/dist/tools/git-archive.js +462 -10
  50. package/dist/tools/git-archive.js.map +1 -1
  51. package/dist/tools/git-backup.d.ts +101 -15
  52. package/dist/tools/git-backup.d.ts.map +1 -1
  53. package/dist/tools/git-backup.js +410 -10
  54. package/dist/tools/git-backup.js.map +1 -1
  55. package/dist/tools/git-branches.d.ts +141 -15
  56. package/dist/tools/git-branches.d.ts.map +1 -1
  57. package/dist/tools/git-branches.js +466 -11
  58. package/dist/tools/git-branches.js.map +1 -1
  59. package/dist/tools/git-config.d.ts +115 -15
  60. package/dist/tools/git-config.d.ts.map +1 -1
  61. package/dist/tools/git-config.js +446 -11
  62. package/dist/tools/git-config.js.map +1 -1
  63. package/dist/tools/git-files.d.ts +179 -59
  64. package/dist/tools/git-files.d.ts.map +1 -1
  65. package/dist/tools/git-files.js +682 -222
  66. package/dist/tools/git-files.js.map +1 -1
  67. package/dist/tools/git-issues.d.ts +158 -15
  68. package/dist/tools/git-issues.d.ts.map +1 -1
  69. package/dist/tools/git-issues.js +323 -11
  70. package/dist/tools/git-issues.js.map +1 -1
  71. package/dist/tools/git-monitor.d.ts +149 -14
  72. package/dist/tools/git-monitor.d.ts.map +1 -1
  73. package/dist/tools/git-monitor.js +528 -11
  74. package/dist/tools/git-monitor.js.map +1 -1
  75. package/dist/tools/git-packages.d.ts +163 -15
  76. package/dist/tools/git-packages.d.ts.map +1 -1
  77. package/dist/tools/git-packages.js +526 -11
  78. package/dist/tools/git-packages.js.map +1 -1
  79. package/dist/tools/git-pulls.d.ts +174 -15
  80. package/dist/tools/git-pulls.d.ts.map +1 -1
  81. package/dist/tools/git-pulls.js +352 -11
  82. package/dist/tools/git-pulls.js.map +1 -1
  83. package/dist/tools/git-release.d.ts +167 -15
  84. package/dist/tools/git-release.d.ts.map +1 -1
  85. package/dist/tools/git-release.js +465 -11
  86. package/dist/tools/git-release.js.map +1 -1
  87. package/dist/tools/git-remote.d.ts +124 -15
  88. package/dist/tools/git-remote.d.ts.map +1 -1
  89. package/dist/tools/git-remote.js +539 -11
  90. package/dist/tools/git-remote.js.map +1 -1
  91. package/dist/tools/git-reset.d.ts +100 -15
  92. package/dist/tools/git-reset.d.ts.map +1 -1
  93. package/dist/tools/git-reset.js +409 -11
  94. package/dist/tools/git-reset.js.map +1 -1
  95. package/dist/tools/git-stash.d.ts +120 -15
  96. package/dist/tools/git-stash.d.ts.map +1 -1
  97. package/dist/tools/git-stash.js +503 -11
  98. package/dist/tools/git-stash.js.map +1 -1
  99. package/dist/tools/git-sync.d.ts +160 -16
  100. package/dist/tools/git-sync.d.ts.map +1 -1
  101. package/dist/tools/git-sync.js +462 -113
  102. package/dist/tools/git-sync.js.map +1 -1
  103. package/dist/tools/git-tags.d.ts +142 -15
  104. package/dist/tools/git-tags.d.ts.map +1 -1
  105. package/dist/tools/git-tags.js +471 -11
  106. package/dist/tools/git-tags.js.map +1 -1
  107. package/dist/tools/git-workflow.d.ts +151 -80
  108. package/dist/tools/git-workflow.d.ts.map +1 -1
  109. package/dist/tools/git-workflow.js +407 -912
  110. package/dist/tools/git-workflow.js.map +1 -1
  111. package/dist/utils/credential-manager.d.ts +119 -0
  112. package/dist/utils/credential-manager.d.ts.map +1 -0
  113. package/dist/utils/credential-manager.js +450 -0
  114. package/dist/utils/credential-manager.js.map +1 -0
  115. package/dist/utils/git-command-executor.d.ts +326 -0
  116. package/dist/utils/git-command-executor.d.ts.map +1 -0
  117. package/dist/utils/git-command-executor.js +877 -0
  118. package/dist/utils/git-command-executor.js.map +1 -0
  119. package/dist/utils/logger.d.ts +143 -0
  120. package/dist/utils/logger.d.ts.map +1 -0
  121. package/dist/utils/logger.js +473 -0
  122. package/dist/utils/logger.js.map +1 -0
  123. package/dist/utils/operation-error-handler.d.ts +54 -41
  124. package/dist/utils/operation-error-handler.d.ts.map +1 -1
  125. package/dist/utils/operation-error-handler.js +211 -227
  126. package/dist/utils/operation-error-handler.js.map +1 -1
  127. package/dist/utils/parameter-validator.d.ts +41 -0
  128. package/dist/utils/parameter-validator.d.ts.map +1 -0
  129. package/dist/utils/parameter-validator.js +464 -0
  130. package/dist/utils/parameter-validator.js.map +1 -0
  131. package/dist/utils/repository-detector.d.ts +128 -0
  132. package/dist/utils/repository-detector.d.ts.map +1 -0
  133. package/dist/utils/repository-detector.js +422 -0
  134. package/dist/utils/repository-detector.js.map +1 -0
  135. package/dist/utils/response-formatter.d.ts +146 -0
  136. package/dist/utils/response-formatter.d.ts.map +1 -0
  137. package/dist/utils/response-formatter.js +378 -0
  138. package/dist/utils/response-formatter.js.map +1 -0
  139. package/dist/utils/retry.d.ts +12 -0
  140. package/dist/utils/retry.d.ts.map +1 -0
  141. package/dist/utils/retry.js +28 -0
  142. package/dist/utils/retry.js.map +1 -0
  143. package/dist/utils/terminal-controller.d.ts +73 -139
  144. package/dist/utils/terminal-controller.d.ts.map +1 -1
  145. package/dist/utils/terminal-controller.js +234 -459
  146. package/dist/utils/terminal-controller.js.map +1 -1
  147. package/package.json +79 -60
  148. package/dist/providers/error-handler.d.ts +0 -51
  149. package/dist/providers/error-handler.d.ts.map +0 -1
  150. package/dist/providers/error-handler.js +0 -176
  151. package/dist/providers/error-handler.js.map +0 -1
  152. package/dist/providers/github-provider-backup.d.ts +0 -81
  153. package/dist/providers/github-provider-backup.d.ts.map +0 -1
  154. package/dist/providers/github-provider-backup.js +0 -1179
  155. package/dist/providers/github-provider-backup.js.map +0 -1
  156. package/dist/providers/github-provider-complete.d.ts +0 -1
  157. package/dist/providers/github-provider-complete.d.ts.map +0 -1
  158. package/dist/providers/github-provider-complete.js +0 -2
  159. package/dist/providers/github-provider-complete.js.map +0 -1
  160. package/dist/tools/git-init.d.ts +0 -50
  161. package/dist/tools/git-init.d.ts.map +0 -1
  162. package/dist/tools/git-init.js +0 -258
  163. package/dist/tools/git-init.js.map +0 -1
  164. package/dist/tools/git-log.d.ts +0 -67
  165. package/dist/tools/git-log.d.ts.map +0 -1
  166. package/dist/tools/git-log.js +0 -320
  167. package/dist/tools/git-log.js.map +0 -1
  168. package/dist/tools/git-status.d.ts +0 -29
  169. package/dist/tools/git-status.d.ts.map +0 -1
  170. package/dist/tools/git-status.js +0 -182
  171. package/dist/tools/git-status.js.map +0 -1
  172. package/dist/tools/git-update.d.ts +0 -34
  173. package/dist/tools/git-update.d.ts.map +0 -1
  174. package/dist/tools/git-update.js +0 -191
  175. package/dist/tools/git-update.js.map +0 -1
  176. package/dist/utils/auto-detection.d.ts +0 -120
  177. package/dist/utils/auto-detection.d.ts.map +0 -1
  178. package/dist/utils/auto-detection.js +0 -259
  179. package/dist/utils/auto-detection.js.map +0 -1
  180. package/dist/utils/configuration-error-generator.d.ts +0 -41
  181. package/dist/utils/configuration-error-generator.d.ts.map +0 -1
  182. package/dist/utils/configuration-error-generator.js +0 -168
  183. package/dist/utils/configuration-error-generator.js.map +0 -1
  184. package/dist/utils/configuration-validator.d.ts +0 -67
  185. package/dist/utils/configuration-validator.d.ts.map +0 -1
  186. package/dist/utils/configuration-validator.js +0 -257
  187. package/dist/utils/configuration-validator.js.map +0 -1
  188. package/dist/utils/error-handler.d.ts +0 -107
  189. package/dist/utils/error-handler.d.ts.map +0 -1
  190. package/dist/utils/error-handler.js +0 -331
  191. package/dist/utils/error-handler.js.map +0 -1
  192. package/dist/utils/git-operations.d.ts +0 -200
  193. package/dist/utils/git-operations.d.ts.map +0 -1
  194. package/dist/utils/git-operations.js +0 -836
  195. package/dist/utils/git-operations.js.map +0 -1
  196. package/dist/utils/multi-provider-error-handler.d.ts +0 -75
  197. package/dist/utils/multi-provider-error-handler.d.ts.map +0 -1
  198. package/dist/utils/multi-provider-error-handler.js +0 -276
  199. package/dist/utils/multi-provider-error-handler.js.map +0 -1
  200. package/dist/utils/multi-provider-operation-handler.d.ts +0 -113
  201. package/dist/utils/multi-provider-operation-handler.d.ts.map +0 -1
  202. package/dist/utils/multi-provider-operation-handler.js +0 -303
  203. package/dist/utils/multi-provider-operation-handler.js.map +0 -1
  204. package/dist/utils/provider-operation-handler.d.ts +0 -80
  205. package/dist/utils/provider-operation-handler.d.ts.map +0 -1
  206. package/dist/utils/provider-operation-handler.js +0 -201
  207. package/dist/utils/provider-operation-handler.js.map +0 -1
  208. package/dist/utils/response-helper.d.ts +0 -57
  209. package/dist/utils/response-helper.d.ts.map +0 -1
  210. package/dist/utils/response-helper.js +0 -54
  211. package/dist/utils/response-helper.js.map +0 -1
  212. package/dist/utils/user-detection.d.ts +0 -25
  213. package/dist/utils/user-detection.d.ts.map +0 -1
  214. package/dist/utils/user-detection.js +0 -54
  215. package/dist/utils/user-detection.js.map +0 -1
@@ -1,191 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.gitUpdateTool = void 0;
4
- const auto_detection_js_1 = require("../utils/auto-detection.js");
5
- const configuration_validator_js_1 = require("../utils/configuration-validator.js");
6
- const index_js_1 = require("../providers/index.js");
7
- const terminal_controller_js_1 = require("../utils/terminal-controller.js");
8
- /**
9
- * Git Update Tool - Atualização Completa do Projeto
10
- *
11
- * Atualiza o projeto atual em ambos os providers (GitHub e Gitea):
12
- * - Faz pull das mudanças remotas
13
- * - Adiciona todas as mudanças locais
14
- * - Faz commit com mensagem
15
- * - Faz push para ambos os providers
16
- */
17
- const inputSchema = {
18
- type: 'object',
19
- properties: {
20
- projectPath: {
21
- type: 'string',
22
- description: 'Caminho do projeto (obrigatório)'
23
- },
24
- message: {
25
- type: 'string',
26
- description: 'Mensagem de commit (obrigatório)'
27
- },
28
- provider: {
29
- type: 'string',
30
- enum: ['github', 'gitea', 'both'],
31
- description: 'Provider para push (obrigatório)'
32
- },
33
- branch: {
34
- type: 'string',
35
- description: 'Branch para operação (padrão: main)'
36
- },
37
- pullFirst: {
38
- type: 'boolean',
39
- description: 'Fazer pull antes do push (padrão: true)'
40
- }
41
- },
42
- required: ['projectPath', 'message', 'provider']
43
- };
44
- exports.gitUpdateTool = {
45
- name: 'git-update',
46
- description: '🔄 ATUALIZAÇÃO COMPLETA - Atualiza o projeto atual em ambos providers (pull + commit + push)',
47
- inputSchema,
48
- async handler(input) {
49
- try {
50
- const { projectPath, message, provider, branch = 'main', pullFirst = true } = input;
51
- const detection = (0, auto_detection_js_1.autoDetect)(projectPath);
52
- // Validar provider obrigatório
53
- if (!provider) {
54
- throw new Error('Provider é obrigatório. Use: github, gitea, ou both');
55
- }
56
- // Validar provider
57
- const providerValidation = configuration_validator_js_1.ConfigurationValidator.validateProvider(provider);
58
- if (!providerValidation.valid) {
59
- return (0, auto_detection_js_1.createUniversalResponse)(false, 'update', providerValidation.error.message, detection, 'git-update', undefined, {
60
- code: providerValidation.error.code,
61
- message: providerValidation.error.message,
62
- cause: 'Invalid provider parameter',
63
- suggestion: providerValidation.error.suggestion
64
- });
65
- }
66
- // Verificar se é um repositório Git
67
- if (!(0, terminal_controller_js_1.isGitRepository)(projectPath)) {
68
- throw new Error('Diretório não é um repositório Git válido');
69
- }
70
- const steps = [];
71
- const results = {};
72
- // 1. Pull primeiro (se solicitado)
73
- if (pullFirst) {
74
- try {
75
- const pullResult = await (0, terminal_controller_js_1.gitPull)(projectPath, branch);
76
- steps.push('✅ Pull realizado com sucesso');
77
- results.pull = { success: true, output: pullResult };
78
- }
79
- catch (error) {
80
- steps.push('⚠️ Pull falhou (continuando)');
81
- results.pull = { success: false, error: error instanceof Error ? error.message : String(error) };
82
- }
83
- }
84
- // 2. Verificar status
85
- const statusResult = await (0, terminal_controller_js_1.getGitStatus)(projectPath);
86
- const status = statusResult.output;
87
- if (status.includes('nothing to commit')) {
88
- return (0, auto_detection_js_1.createUniversalResponse)(true, 'update', 'Nenhuma mudança para commit', detection, 'git-update', {
89
- status: 'clean',
90
- message: 'Repositório está limpo, nada para atualizar',
91
- steps,
92
- provider
93
- });
94
- }
95
- // 3. Add todas as mudanças
96
- try {
97
- await (0, terminal_controller_js_1.gitAdd)(projectPath, '.');
98
- steps.push('✅ Arquivos adicionados ao stage');
99
- results.add = { success: true };
100
- }
101
- catch (error) {
102
- throw new Error(`Falha ao adicionar arquivos: ${error instanceof Error ? error.message : String(error)}`);
103
- }
104
- // 4. Commit
105
- try {
106
- const commitResult = await (0, terminal_controller_js_1.gitCommit)(projectPath, message);
107
- steps.push('✅ Commit realizado com sucesso');
108
- results.commit = { success: true, output: commitResult };
109
- }
110
- catch (error) {
111
- throw new Error(`Falha no commit: ${error instanceof Error ? error.message : String(error)}`);
112
- }
113
- // 5. Push para provider(s)
114
- const pushResults = {};
115
- if (provider === 'both') {
116
- // Push para ambos os providers
117
- const providers = ['github', 'gitea'];
118
- for (const providerName of providers) {
119
- try {
120
- const providerInstance = index_js_1.globalProviderFactory.getProvider(providerName);
121
- if (providerInstance) {
122
- const pushResult = await (0, terminal_controller_js_1.gitPush)(projectPath, branch, providerName);
123
- steps.push(`✅ Push para ${providerName} realizado com sucesso`);
124
- pushResults[providerName] = { success: true, output: pushResult };
125
- }
126
- else {
127
- steps.push(`⚠️ Provider ${providerName} não configurado`);
128
- pushResults[providerName] = { success: false, error: 'Provider não configurado' };
129
- }
130
- }
131
- catch (error) {
132
- steps.push(`❌ Push para ${providerName} falhou`);
133
- pushResults[providerName] = {
134
- success: false,
135
- error: error instanceof Error ? error.message : String(error)
136
- };
137
- }
138
- }
139
- return (0, auto_detection_js_1.createUniversalResponse)(true, 'update', 'Atualização completa finalizada', detection, 'git-update', {
140
- message,
141
- branch,
142
- provider: 'both',
143
- steps,
144
- results: {
145
- ...results,
146
- push: pushResults
147
- },
148
- summary: {
149
- totalProviders: 2,
150
- successfulPushes: Object.values(pushResults).filter((r) => r.success).length,
151
- failedPushes: Object.values(pushResults).filter((r) => !r.success).length
152
- }
153
- });
154
- }
155
- else {
156
- // Push para provider único
157
- try {
158
- const providerInstance = index_js_1.globalProviderFactory.getProvider(provider);
159
- if (!providerInstance) {
160
- throw new Error(`Provider ${provider} não configurado`);
161
- }
162
- const pushResult = await (0, terminal_controller_js_1.gitPush)(projectPath, branch, provider);
163
- steps.push(`✅ Push para ${provider} realizado com sucesso`);
164
- return (0, auto_detection_js_1.createUniversalResponse)(true, 'update', `Atualização completa para ${provider} finalizada`, detection, 'git-update', {
165
- message,
166
- branch,
167
- provider,
168
- steps,
169
- results: {
170
- ...results,
171
- push: { success: true, output: pushResult }
172
- }
173
- });
174
- }
175
- catch (error) {
176
- throw new Error(`Push para ${provider} falhou: ${error instanceof Error ? error.message : String(error)}`);
177
- }
178
- }
179
- }
180
- catch (error) {
181
- const detection = (0, auto_detection_js_1.autoDetect)(input.projectPath || '');
182
- const errorInstance = error instanceof Error ? error : new Error(String(error));
183
- return (0, auto_detection_js_1.createUniversalResponse)(false, 'update', `Erro na atualização: ${errorInstance.message}`, detection, 'git-update', undefined, {
184
- code: 'UPDATE_ERROR',
185
- message: errorInstance.message,
186
- cause: 'Update operation failed'
187
- });
188
- }
189
- }
190
- };
191
- //# sourceMappingURL=git-update.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"git-update.js","sourceRoot":"","sources":["../../src/tools/git-update.ts"],"names":[],"mappings":"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"}
@@ -1,120 +0,0 @@
1
- /**
2
- * Sistema de Auto-detecção Universal para MCP Git
3
- *
4
- * Conforme especificado no design.md, este módulo:
5
- * - Extrai repo name automaticamente do projectPath
6
- * - Detecta owner/username das variáveis de ambiente
7
- * - Identifica providers disponíveis baseados nos tokens ENV
8
- * - Fornece interface universal para todas as tools
9
- */
10
- /**
11
- * Interface para informações auto-detectadas
12
- */
13
- export interface AutoDetection {
14
- /** Caminho absoluto do projeto */
15
- projectPath: string;
16
- /** Nome do repositório extraído automaticamente */
17
- repoName: string;
18
- /** Owner/username detectado das ENV vars */
19
- owner: string;
20
- /** Lista de providers disponíveis */
21
- providers: ('gitea' | 'github')[];
22
- /** Se é um repositório Git válido */
23
- isValidRepo: boolean;
24
- /** Caminho do .git */
25
- gitPath?: string;
26
- }
27
- /**
28
- * Interface para configuração de providers
29
- */
30
- export interface ProviderConfig {
31
- gitea?: {
32
- username: string;
33
- token: string;
34
- url: string;
35
- };
36
- github?: {
37
- username: string;
38
- token: string;
39
- };
40
- }
41
- /**
42
- * Extrai o nome do repositório do projectPath
43
- *
44
- * Exemplos:
45
- * - "C:/Users/Dev/MeuProjeto" → "MeuProjeto"
46
- * - "/home/user/projects/web-app" → "web-app"
47
- * - "Z:\MCP\GIT MCP" → "GIT MCP"
48
- */
49
- export declare function extractRepoName(projectPath: string): string;
50
- /**
51
- * Detecta configuração de providers das variáveis de ambiente
52
- */
53
- export declare function detectProviderConfig(): ProviderConfig;
54
- /**
55
- * Detecta providers disponíveis baseados na configuração
56
- */
57
- export declare function detectAvailableProviders(): ('gitea' | 'github')[];
58
- /**
59
- * Detecta o owner/username principal (prioriza Gitea, depois GitHub)
60
- */
61
- export declare function detectOwner(): string;
62
- /**
63
- * Verifica se o diretório é um repositório Git válido
64
- */
65
- export declare function isValidGitRepository(projectPath: string): {
66
- isValid: boolean;
67
- gitPath?: string;
68
- };
69
- /**
70
- * Função principal de auto-detecção universal
71
- *
72
- * Esta função é chamada por TODAS as tools Git para obter contexto automático
73
- */
74
- export declare function autoDetect(projectPath: string): AutoDetection;
75
- /**
76
- * Valida se o contexto auto-detectado é suficiente para operações
77
- */
78
- export declare function validateAutoDetection(detection: AutoDetection): {
79
- isValid: boolean;
80
- errors: string[];
81
- warnings: string[];
82
- };
83
- /**
84
- * Interface de resposta universal para todas as tools
85
- */
86
- export interface UniversalResponse {
87
- success: boolean;
88
- action: string;
89
- message: string;
90
- data?: any;
91
- error?: {
92
- code: string;
93
- message: string;
94
- cause: string;
95
- suggestion?: string;
96
- };
97
- autoDetected: {
98
- repo: string;
99
- owner: string;
100
- providers: string[];
101
- };
102
- metadata: {
103
- projectPath: string;
104
- timestamp: string;
105
- operation: string;
106
- toolName?: string;
107
- };
108
- }
109
- /**
110
- * Cria resposta universal padronizada
111
- */
112
- export declare function createUniversalResponse(success: boolean, action: string, message: string, detection: AutoDetection, toolName: string, data?: any, error?: UniversalResponse['error']): UniversalResponse;
113
- export declare function createUniversalResponse(params: {
114
- success: boolean;
115
- action: string;
116
- message: string;
117
- data?: any;
118
- error?: UniversalResponse['error'];
119
- }): UniversalResponse;
120
- //# sourceMappingURL=auto-detection.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auto-detection.d.ts","sourceRoot":"","sources":["../../src/utils/auto-detection.ts"],"names":[],"mappings":"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"}
@@ -1,259 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.extractRepoName = extractRepoName;
37
- exports.detectProviderConfig = detectProviderConfig;
38
- exports.detectAvailableProviders = detectAvailableProviders;
39
- exports.detectOwner = detectOwner;
40
- exports.isValidGitRepository = isValidGitRepository;
41
- exports.autoDetect = autoDetect;
42
- exports.validateAutoDetection = validateAutoDetection;
43
- exports.createUniversalResponse = createUniversalResponse;
44
- const fs = __importStar(require("fs"));
45
- const path = __importStar(require("path"));
46
- /**
47
- * Extrai o nome do repositório do projectPath
48
- *
49
- * Exemplos:
50
- * - "C:/Users/Dev/MeuProjeto" → "MeuProjeto"
51
- * - "/home/user/projects/web-app" → "web-app"
52
- * - "Z:\MCP\GIT MCP" → "GIT MCP"
53
- */
54
- function extractRepoName(projectPath) {
55
- if (!projectPath || typeof projectPath !== 'string') {
56
- throw new Error('projectPath deve ser uma string válida');
57
- }
58
- // Remove barras finais e divide por separadores
59
- const normalizedPath = projectPath.replace(/[\\\/]+$/, '');
60
- const pathParts = normalizedPath.split(/[\\\/]/);
61
- // Retorna a última parte não vazia
62
- const repoName = pathParts[pathParts.length - 1];
63
- if (!repoName || repoName.trim() === '') {
64
- throw new Error(`Não foi possível extrair nome do repositório de: ${projectPath}`);
65
- }
66
- return repoName.trim();
67
- }
68
- /**
69
- * Detecta configuração de providers das variáveis de ambiente
70
- */
71
- function detectProviderConfig() {
72
- const config = {};
73
- // Detecta Gitea
74
- const giteaUsername = process.env.GITEA_USERNAME;
75
- const giteaToken = process.env.GITEA_TOKEN;
76
- const giteaUrl = process.env.GITEA_URL;
77
- if (giteaUsername && giteaToken && giteaUrl) {
78
- config.gitea = {
79
- username: giteaUsername,
80
- token: giteaToken,
81
- url: giteaUrl
82
- };
83
- }
84
- // Detecta GitHub
85
- const githubUsername = process.env.GITHUB_USERNAME;
86
- const githubToken = process.env.GITHUB_TOKEN;
87
- if (githubUsername && githubToken) {
88
- config.github = {
89
- username: githubUsername,
90
- token: githubToken
91
- };
92
- }
93
- return config;
94
- }
95
- /**
96
- * Detecta providers disponíveis baseados na configuração
97
- */
98
- function detectAvailableProviders() {
99
- const config = detectProviderConfig();
100
- const providers = [];
101
- if (config.gitea) {
102
- providers.push('gitea');
103
- }
104
- if (config.github) {
105
- providers.push('github');
106
- }
107
- return providers;
108
- }
109
- /**
110
- * Detecta o owner/username principal (prioriza Gitea, depois GitHub)
111
- */
112
- function detectOwner() {
113
- const config = detectProviderConfig();
114
- // Prioriza Gitea como especificado no design
115
- if (config.gitea?.username) {
116
- return config.gitea.username;
117
- }
118
- if (config.github?.username) {
119
- return config.github.username;
120
- }
121
- throw new Error('Nenhum provider configurado. Configure GITEA_USERNAME/GITEA_TOKEN/GITEA_URL ou GITHUB_USERNAME/GITHUB_TOKEN');
122
- }
123
- /**
124
- * Verifica se o diretório é um repositório Git válido
125
- */
126
- function isValidGitRepository(projectPath) {
127
- try {
128
- const gitPath = path.join(projectPath, '.git');
129
- // Verifica se .git existe (diretório ou arquivo)
130
- const gitExists = fs.existsSync(gitPath);
131
- if (!gitExists) {
132
- return { isValid: false };
133
- }
134
- // Se for um arquivo, pode ser um git worktree
135
- const gitStat = fs.statSync(gitPath);
136
- if (gitStat.isFile()) {
137
- // Verifica se aponta para um .git válido
138
- try {
139
- const gitFileContent = fs.readFileSync(gitPath, 'utf8');
140
- const gitDirMatch = gitFileContent.match(/gitdir: (.+)/);
141
- if (gitDirMatch) {
142
- const actualGitPath = path.resolve(projectPath, gitDirMatch[1]);
143
- return {
144
- isValid: fs.existsSync(actualGitPath),
145
- gitPath: actualGitPath
146
- };
147
- }
148
- }
149
- catch {
150
- return { isValid: false };
151
- }
152
- }
153
- return {
154
- isValid: true,
155
- gitPath: gitPath
156
- };
157
- }
158
- catch (error) {
159
- return { isValid: false };
160
- }
161
- }
162
- /**
163
- * Função principal de auto-detecção universal
164
- *
165
- * Esta função é chamada por TODAS as tools Git para obter contexto automático
166
- */
167
- function autoDetect(projectPath) {
168
- if (!projectPath || typeof projectPath !== 'string') {
169
- throw new Error('projectPath deve ser uma string válida');
170
- }
171
- // Normaliza o caminho
172
- const normalizedPath = path.resolve(projectPath);
173
- // Verifica se o diretório existe
174
- if (!fs.existsSync(normalizedPath)) {
175
- throw new Error(`Diretório do projeto não existe: ${normalizedPath}`);
176
- }
177
- // Extrai informações automaticamente
178
- const repoName = extractRepoName(normalizedPath);
179
- const owner = detectOwner();
180
- const providers = detectAvailableProviders();
181
- const repoCheck = isValidGitRepository(normalizedPath);
182
- return {
183
- projectPath: normalizedPath,
184
- repoName,
185
- owner,
186
- providers,
187
- isValidRepo: repoCheck.isValid,
188
- gitPath: repoCheck.gitPath
189
- };
190
- }
191
- /**
192
- * Valida se o contexto auto-detectado é suficiente para operações
193
- */
194
- function validateAutoDetection(detection) {
195
- const errors = [];
196
- const warnings = [];
197
- if (!detection.repoName) {
198
- errors.push('Nome do repositório não pôde ser extraído');
199
- }
200
- if (!detection.owner) {
201
- errors.push('Owner/username não pôde ser detectado das variáveis de ambiente');
202
- }
203
- if (detection.providers.length === 0) {
204
- warnings.push('Nenhum provider configurado - operações locais apenas');
205
- }
206
- return {
207
- isValid: errors.length === 0,
208
- errors,
209
- warnings
210
- };
211
- }
212
- function createUniversalResponse(successOrParams, action, message, detection, toolName, data, error) {
213
- // Handle object parameter style
214
- if (typeof successOrParams === 'object') {
215
- const params = successOrParams;
216
- return {
217
- success: params.success,
218
- action: params.action,
219
- message: params.message,
220
- data: params.data,
221
- error: params.error,
222
- autoDetected: {
223
- repo: 'auto-detected',
224
- owner: 'auto-detected',
225
- providers: []
226
- },
227
- metadata: {
228
- projectPath: 'unknown',
229
- timestamp: new Date().toISOString(),
230
- operation: params.action,
231
- toolName: 'unknown'
232
- }
233
- };
234
- }
235
- // Handle individual parameters style
236
- const success = successOrParams;
237
- if (!action || !message || !detection) {
238
- throw new Error('action, message and detection are required');
239
- }
240
- return {
241
- success,
242
- action,
243
- message,
244
- data,
245
- error,
246
- autoDetected: {
247
- repo: detection.repoName,
248
- owner: detection.owner,
249
- providers: detection.providers
250
- },
251
- metadata: {
252
- projectPath: detection.projectPath,
253
- timestamp: new Date().toISOString(),
254
- operation: action,
255
- toolName: toolName || 'unknown'
256
- }
257
- };
258
- }
259
- //# sourceMappingURL=auto-detection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auto-detection.js","sourceRoot":"","sources":["../../src/utils/auto-detection.ts"],"names":[],"mappings":"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"}
@@ -1,41 +0,0 @@
1
- /**
2
- * Configuration error generator for Git MCP providers
3
- * Provides step-by-step instructions and examples for setting up providers
4
- */
5
- export interface ConfigurationError {
6
- provider: string;
7
- missing: string[];
8
- instructions: string[];
9
- examples: Record<string, string>;
10
- }
11
- export declare class ConfigurationErrorGenerator {
12
- /**
13
- * Generate GitHub configuration error with setup instructions
14
- */
15
- static generateGitHubError(): ConfigurationError;
16
- /**
17
- * Generate Gitea configuration error with setup instructions
18
- */
19
- static generateGiteaError(): ConfigurationError;
20
- /**
21
- * Generate configuration error for both providers
22
- */
23
- static generateBothProvidersError(): ConfigurationError;
24
- /**
25
- * Generate error for specific missing environment variables
26
- */
27
- static generateMissingVariablesError(provider: string, missingVars: string[]): ConfigurationError;
28
- /**
29
- * Generate error message text from configuration error
30
- */
31
- static formatErrorMessage(configError: ConfigurationError): string;
32
- /**
33
- * Generate error for authentication failures
34
- */
35
- static generateAuthenticationError(provider: string): ConfigurationError;
36
- /**
37
- * Generate error for network/endpoint issues
38
- */
39
- static generateNetworkError(provider: string, endpoint?: string): ConfigurationError;
40
- }
41
- //# sourceMappingURL=configuration-error-generator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configuration-error-generator.d.ts","sourceRoot":"","sources":["../../src/utils/configuration-error-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,qBAAa,2BAA2B;IACtC;;OAEG;IACH,MAAM,CAAC,mBAAmB,IAAI,kBAAkB;IAkBhD;;OAEG;IACH,MAAM,CAAC,kBAAkB,IAAI,kBAAkB;IAmB/C;;OAEG;IACH,MAAM,CAAC,0BAA0B,IAAI,kBAAkB;IAuBvD;;OAEG;IACH,MAAM,CAAC,6BAA6B,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,kBAAkB;IAkBjG;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,WAAW,EAAE,kBAAkB,GAAG,MAAM;IAiBlE;;OAEG;IACH,MAAM,CAAC,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB;IAwBxE;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,kBAAkB;CA4BrF"}