@andrebuzeli/git-mcp 5.5.1 → 5.8.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 (232) hide show
  1. package/README.md +94 -6
  2. package/dist/config.d.ts +5 -131
  3. package/dist/config.js +28 -430
  4. package/dist/index.d.ts +1 -21
  5. package/dist/index.js +118 -140
  6. package/dist/providers/giteaProvider.d.ts +3 -0
  7. package/dist/providers/giteaProvider.js +12 -0
  8. package/dist/providers/githubProvider.d.ts +2 -0
  9. package/dist/providers/githubProvider.js +7 -0
  10. package/dist/providers/providerManager.d.ts +11 -0
  11. package/dist/providers/providerManager.js +48 -0
  12. package/dist/resources/toolsGuide.d.ts +12 -0
  13. package/dist/resources/toolsGuide.js +1491 -0
  14. package/dist/server.d.ts +7 -40
  15. package/dist/server.js +59 -696
  16. package/dist/tools/gitAnalytics.d.ts +29 -0
  17. package/dist/tools/gitAnalytics.js +72 -0
  18. package/dist/tools/gitArchive.d.ts +6 -0
  19. package/dist/tools/gitArchive.js +27 -0
  20. package/dist/tools/gitBackup.d.ts +10 -0
  21. package/dist/tools/gitBackup.js +44 -0
  22. package/dist/tools/gitBranches.d.ts +72 -0
  23. package/dist/tools/gitBranches.js +98 -0
  24. package/dist/tools/gitConfig.d.ts +34 -0
  25. package/dist/tools/gitConfig.js +73 -0
  26. package/dist/tools/gitFiles.d.ts +30 -0
  27. package/dist/tools/gitFiles.js +55 -0
  28. package/dist/tools/gitHistory.d.ts +17 -0
  29. package/dist/tools/gitHistory.js +365 -0
  30. package/dist/tools/gitIssues.d.ts +6 -0
  31. package/dist/tools/gitIssues.js +279 -0
  32. package/dist/tools/gitMonitor.d.ts +51 -0
  33. package/dist/tools/gitMonitor.js +102 -0
  34. package/dist/tools/gitPackages.d.ts +6 -0
  35. package/dist/tools/gitPackages.js +28 -0
  36. package/dist/tools/gitPulls.d.ts +6 -0
  37. package/dist/tools/gitPulls.js +288 -0
  38. package/dist/tools/gitRelease.d.ts +6 -0
  39. package/dist/tools/gitRelease.js +321 -0
  40. package/dist/tools/gitRemote.d.ts +51 -0
  41. package/dist/tools/gitRemote.js +68 -0
  42. package/dist/tools/gitReset.d.ts +34 -0
  43. package/dist/tools/gitReset.js +64 -0
  44. package/dist/tools/gitStash.d.ts +41 -0
  45. package/dist/tools/gitStash.js +67 -0
  46. package/dist/tools/gitSync.d.ts +25 -0
  47. package/dist/tools/gitSync.js +51 -0
  48. package/dist/tools/gitTags.d.ts +30 -0
  49. package/dist/tools/gitTags.js +69 -0
  50. package/dist/tools/gitUpdate.d.ts +14 -0
  51. package/dist/tools/gitUpdate.js +374 -0
  52. package/dist/tools/gitUpload.d.ts +11 -0
  53. package/dist/tools/gitUpload.js +342 -0
  54. package/dist/tools/gitWorkflow.d.ts +6 -0
  55. package/dist/tools/gitWorkflow.js +303 -0
  56. package/dist/types.d.ts +17 -0
  57. package/dist/types.js +2 -0
  58. package/dist/utils/errors.d.ts +13 -0
  59. package/dist/utils/errors.js +22 -0
  60. package/dist/utils/safetyController.d.ts +1 -0
  61. package/dist/utils/safetyController.js +15 -0
  62. package/package.json +8 -3
  63. package/dist/config.d.ts.map +0 -1
  64. package/dist/config.js.map +0 -1
  65. package/dist/index.d.ts.map +0 -1
  66. package/dist/index.js.map +0 -1
  67. package/dist/providers/base-provider.d.ts +0 -66
  68. package/dist/providers/base-provider.d.ts.map +0 -1
  69. package/dist/providers/base-provider.js +0 -65
  70. package/dist/providers/base-provider.js.map +0 -1
  71. package/dist/providers/gitea-provider.d.ts +0 -79
  72. package/dist/providers/gitea-provider.d.ts.map +0 -1
  73. package/dist/providers/gitea-provider.js +0 -576
  74. package/dist/providers/gitea-provider.js.map +0 -1
  75. package/dist/providers/github-provider.d.ts +0 -74
  76. package/dist/providers/github-provider.d.ts.map +0 -1
  77. package/dist/providers/github-provider.js +0 -683
  78. package/dist/providers/github-provider.js.map +0 -1
  79. package/dist/providers/index.d.ts +0 -13
  80. package/dist/providers/index.d.ts.map +0 -1
  81. package/dist/providers/index.js +0 -35
  82. package/dist/providers/index.js.map +0 -1
  83. package/dist/providers/provider-factory.d.ts +0 -49
  84. package/dist/providers/provider-factory.d.ts.map +0 -1
  85. package/dist/providers/provider-factory.js +0 -193
  86. package/dist/providers/provider-factory.js.map +0 -1
  87. package/dist/providers/provider-operation-handler.d.ts +0 -115
  88. package/dist/providers/provider-operation-handler.d.ts.map +0 -1
  89. package/dist/providers/provider-operation-handler.js +0 -449
  90. package/dist/providers/provider-operation-handler.js.map +0 -1
  91. package/dist/providers/types.d.ts +0 -200
  92. package/dist/providers/types.d.ts.map +0 -1
  93. package/dist/providers/types.js +0 -8
  94. package/dist/providers/types.js.map +0 -1
  95. package/dist/server.d.ts.map +0 -1
  96. package/dist/server.js.map +0 -1
  97. package/dist/tools/git-analytics.d.ts +0 -237
  98. package/dist/tools/git-analytics.d.ts.map +0 -1
  99. package/dist/tools/git-analytics.js +0 -819
  100. package/dist/tools/git-analytics.js.map +0 -1
  101. package/dist/tools/git-archive.d.ts +0 -113
  102. package/dist/tools/git-archive.d.ts.map +0 -1
  103. package/dist/tools/git-archive.js +0 -466
  104. package/dist/tools/git-archive.js.map +0 -1
  105. package/dist/tools/git-auto-monitor.d.ts +0 -180
  106. package/dist/tools/git-auto-monitor.d.ts.map +0 -1
  107. package/dist/tools/git-auto-monitor.js +0 -522
  108. package/dist/tools/git-auto-monitor.js.map +0 -1
  109. package/dist/tools/git-backup.d.ts +0 -105
  110. package/dist/tools/git-backup.d.ts.map +0 -1
  111. package/dist/tools/git-backup.js +0 -414
  112. package/dist/tools/git-backup.js.map +0 -1
  113. package/dist/tools/git-branches.d.ts +0 -183
  114. package/dist/tools/git-branches.d.ts.map +0 -1
  115. package/dist/tools/git-branches.js +0 -498
  116. package/dist/tools/git-branches.js.map +0 -1
  117. package/dist/tools/git-config.d.ts +0 -119
  118. package/dist/tools/git-config.d.ts.map +0 -1
  119. package/dist/tools/git-config.js +0 -449
  120. package/dist/tools/git-config.js.map +0 -1
  121. package/dist/tools/git-files.d.ts +0 -150
  122. package/dist/tools/git-files.d.ts.map +0 -1
  123. package/dist/tools/git-files.js +0 -527
  124. package/dist/tools/git-files.js.map +0 -1
  125. package/dist/tools/git-history.d.ts +0 -253
  126. package/dist/tools/git-history.d.ts.map +0 -1
  127. package/dist/tools/git-history.js +0 -824
  128. package/dist/tools/git-history.js.map +0 -1
  129. package/dist/tools/git-issues.d.ts +0 -164
  130. package/dist/tools/git-issues.d.ts.map +0 -1
  131. package/dist/tools/git-issues.js +0 -340
  132. package/dist/tools/git-issues.js.map +0 -1
  133. package/dist/tools/git-monitor.d.ts +0 -154
  134. package/dist/tools/git-monitor.d.ts.map +0 -1
  135. package/dist/tools/git-monitor.js +0 -531
  136. package/dist/tools/git-monitor.js.map +0 -1
  137. package/dist/tools/git-packages.d.ts +0 -157
  138. package/dist/tools/git-packages.d.ts.map +0 -1
  139. package/dist/tools/git-packages.js +0 -534
  140. package/dist/tools/git-packages.js.map +0 -1
  141. package/dist/tools/git-pulls.d.ts +0 -180
  142. package/dist/tools/git-pulls.d.ts.map +0 -1
  143. package/dist/tools/git-pulls.js +0 -369
  144. package/dist/tools/git-pulls.js.map +0 -1
  145. package/dist/tools/git-release.d.ts +0 -161
  146. package/dist/tools/git-release.d.ts.map +0 -1
  147. package/dist/tools/git-release.js +0 -466
  148. package/dist/tools/git-release.js.map +0 -1
  149. package/dist/tools/git-remote.d.ts +0 -128
  150. package/dist/tools/git-remote.d.ts.map +0 -1
  151. package/dist/tools/git-remote.js +0 -542
  152. package/dist/tools/git-remote.js.map +0 -1
  153. package/dist/tools/git-reset.d.ts +0 -120
  154. package/dist/tools/git-reset.d.ts.map +0 -1
  155. package/dist/tools/git-reset.js +0 -479
  156. package/dist/tools/git-reset.js.map +0 -1
  157. package/dist/tools/git-stash.d.ts +0 -124
  158. package/dist/tools/git-stash.d.ts.map +0 -1
  159. package/dist/tools/git-stash.js +0 -506
  160. package/dist/tools/git-stash.js.map +0 -1
  161. package/dist/tools/git-sync.d.ts +0 -154
  162. package/dist/tools/git-sync.d.ts.map +0 -1
  163. package/dist/tools/git-sync.js +0 -479
  164. package/dist/tools/git-sync.js.map +0 -1
  165. package/dist/tools/git-tags.d.ts +0 -136
  166. package/dist/tools/git-tags.d.ts.map +0 -1
  167. package/dist/tools/git-tags.js +0 -461
  168. package/dist/tools/git-tags.js.map +0 -1
  169. package/dist/tools/git-update.d.ts +0 -224
  170. package/dist/tools/git-update.d.ts.map +0 -1
  171. package/dist/tools/git-update.js +0 -948
  172. package/dist/tools/git-update.js.map +0 -1
  173. package/dist/tools/git-workflow.d.ts +0 -189
  174. package/dist/tools/git-workflow.d.ts.map +0 -1
  175. package/dist/tools/git-workflow.js +0 -542
  176. package/dist/tools/git-workflow.js.map +0 -1
  177. package/dist/utils/credential-manager.d.ts +0 -119
  178. package/dist/utils/credential-manager.d.ts.map +0 -1
  179. package/dist/utils/credential-manager.js +0 -450
  180. package/dist/utils/credential-manager.js.map +0 -1
  181. package/dist/utils/data-merger.d.ts +0 -49
  182. package/dist/utils/data-merger.d.ts.map +0 -1
  183. package/dist/utils/data-merger.js +0 -233
  184. package/dist/utils/data-merger.js.map +0 -1
  185. package/dist/utils/git-command-executor.d.ts +0 -330
  186. package/dist/utils/git-command-executor.d.ts.map +0 -1
  187. package/dist/utils/git-command-executor.js +0 -901
  188. package/dist/utils/git-command-executor.js.map +0 -1
  189. package/dist/utils/logger.d.ts +0 -143
  190. package/dist/utils/logger.d.ts.map +0 -1
  191. package/dist/utils/logger.js +0 -473
  192. package/dist/utils/logger.js.map +0 -1
  193. package/dist/utils/operation-error-handler.d.ts +0 -97
  194. package/dist/utils/operation-error-handler.d.ts.map +0 -1
  195. package/dist/utils/operation-error-handler.js +0 -367
  196. package/dist/utils/operation-error-handler.js.map +0 -1
  197. package/dist/utils/parameter-validator.d.ts +0 -49
  198. package/dist/utils/parameter-validator.d.ts.map +0 -1
  199. package/dist/utils/parameter-validator.js +0 -647
  200. package/dist/utils/parameter-validator.js.map +0 -1
  201. package/dist/utils/repository-checker.d.ts +0 -46
  202. package/dist/utils/repository-checker.d.ts.map +0 -1
  203. package/dist/utils/repository-checker.js +0 -151
  204. package/dist/utils/repository-checker.js.map +0 -1
  205. package/dist/utils/repository-detector.d.ts +0 -128
  206. package/dist/utils/repository-detector.d.ts.map +0 -1
  207. package/dist/utils/repository-detector.js +0 -422
  208. package/dist/utils/repository-detector.js.map +0 -1
  209. package/dist/utils/repository-sync.d.ts +0 -67
  210. package/dist/utils/repository-sync.d.ts.map +0 -1
  211. package/dist/utils/repository-sync.js +0 -344
  212. package/dist/utils/repository-sync.js.map +0 -1
  213. package/dist/utils/response-formatter.d.ts +0 -146
  214. package/dist/utils/response-formatter.d.ts.map +0 -1
  215. package/dist/utils/response-formatter.js +0 -378
  216. package/dist/utils/response-formatter.js.map +0 -1
  217. package/dist/utils/retry.d.ts +0 -12
  218. package/dist/utils/retry.d.ts.map +0 -1
  219. package/dist/utils/retry.js +0 -28
  220. package/dist/utils/retry.js.map +0 -1
  221. package/dist/utils/safety-warnings.d.ts +0 -56
  222. package/dist/utils/safety-warnings.d.ts.map +0 -1
  223. package/dist/utils/safety-warnings.js +0 -330
  224. package/dist/utils/safety-warnings.js.map +0 -1
  225. package/dist/utils/terminal-controller.d.ts +0 -79
  226. package/dist/utils/terminal-controller.d.ts.map +0 -1
  227. package/dist/utils/terminal-controller.js +0 -291
  228. package/dist/utils/terminal-controller.js.map +0 -1
  229. package/dist/utils/user-friendly-formatter.d.ts +0 -45
  230. package/dist/utils/user-friendly-formatter.d.ts.map +0 -1
  231. package/dist/utils/user-friendly-formatter.js +0 -175
  232. package/dist/utils/user-friendly-formatter.js.map +0 -1
@@ -1,449 +0,0 @@
1
- "use strict";
2
- /**
3
- * Provider Operation Handler
4
- *
5
- * Unified interface for handling operations across multiple providers.
6
- * Supports provider="both" with parallel execution, result aggregation,
7
- * and partial failure handling.
8
- */
9
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- var desc = Object.getOwnPropertyDescriptor(m, k);
12
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
- desc = { enumerable: true, get: function() { return m[k]; } };
14
- }
15
- Object.defineProperty(o, k2, desc);
16
- }) : (function(o, m, k, k2) {
17
- if (k2 === undefined) k2 = k;
18
- o[k2] = m[k];
19
- }));
20
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
- Object.defineProperty(o, "default", { enumerable: true, value: v });
22
- }) : function(o, v) {
23
- o["default"] = v;
24
- });
25
- var __importStar = (this && this.__importStar) || (function () {
26
- var ownKeys = function(o) {
27
- ownKeys = Object.getOwnPropertyNames || function (o) {
28
- var ar = [];
29
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
- return ar;
31
- };
32
- return ownKeys(o);
33
- };
34
- return function (mod) {
35
- if (mod && mod.__esModule) return mod;
36
- var result = {};
37
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
- __setModuleDefault(result, mod);
39
- return result;
40
- };
41
- })();
42
- Object.defineProperty(exports, "__esModule", { value: true });
43
- exports.ProviderOperationHandler = void 0;
44
- const provider_factory_js_1 = require("./provider-factory.js");
45
- const config_js_1 = require("../config.js");
46
- const repository_sync_js_1 = require("../utils/repository-sync.js");
47
- const data_merger_js_1 = require("../utils/data-merger.js");
48
- class ProviderOperationHandler {
49
- factory;
50
- config;
51
- repositorySync;
52
- constructor(config) {
53
- this.config = config;
54
- this.factory = new provider_factory_js_1.ProviderFactory(config);
55
- this.repositorySync = new repository_sync_js_1.RepositorySynchronizer(config);
56
- }
57
- /**
58
- * Execute operation with unified interface
59
- */
60
- async executeOperation(operation) {
61
- const startTime = Date.now();
62
- try {
63
- // MODO UNIVERSAL AUTOMÁTICO: Sempre usar ambos os providers quando configurados
64
- const availableProviders = [];
65
- if (config_js_1.configManager.isGitHubConfigured()) {
66
- availableProviders.push('github');
67
- }
68
- if (config_js_1.configManager.isGiteaConfigured()) {
69
- availableProviders.push('gitea');
70
- }
71
- // Se nenhum provider estiver configurado
72
- if (availableProviders.length === 0) {
73
- return {
74
- success: false,
75
- results: [],
76
- partialFailure: false,
77
- errors: [{
78
- success: false,
79
- error: {
80
- code: 'NO_PROVIDERS_CONFIGURED',
81
- message: 'No providers configured. Set up GitHub or Gitea credentials.'
82
- },
83
- provider: 'none'
84
- }],
85
- metadata: {
86
- operation: operation.operation,
87
- provider: 'none',
88
- executionTime: Date.now() - startTime,
89
- timestamp: new Date().toISOString()
90
- }
91
- };
92
- }
93
- // Se apenas um provider estiver configurado, use-o diretamente
94
- if (availableProviders.length === 1) {
95
- operation.provider = availableProviders[0];
96
- console.log(`[Auto Mode] Using ${operation.provider} (only one configured)`);
97
- }
98
- else {
99
- // Se ambos estiverem configurados, use 'both'
100
- operation.provider = 'both';
101
- console.log(`[Auto Mode] Using both providers (GitHub + Gitea)`);
102
- }
103
- // UNIVERSAL MODE: Sincronização pré-operação para operações de escrita
104
- if (config_js_1.configManager.isUniversalMode() && this.isWriteOperation(operation.operation)) {
105
- await this.ensureRepositorySynchronized(operation);
106
- }
107
- const provider = this.factory.createProviderFromString(operation.provider);
108
- let result;
109
- if (this.isMultiProvider(provider)) {
110
- result = await this.executeMultiProviderOperation(provider, operation, startTime);
111
- // UNIVERSAL MODE: Mesclagem pós-operação para operações de leitura
112
- if (config_js_1.configManager.isUniversalMode() && this.isReadOperation(operation.operation)) {
113
- result.data = this.mergeOperationResults(operation.operation, result.results);
114
- }
115
- // UNIVERSAL MODE: Tentativa de recuperação em falha parcial
116
- if (result.partialFailure && config_js_1.configManager.isUniversalMode()) {
117
- await this.attemptAutoRecovery(operation, result);
118
- }
119
- }
120
- else {
121
- result = await this.executeSingleProviderOperation(provider, operation, startTime);
122
- }
123
- return result;
124
- }
125
- catch (error) {
126
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
127
- return this.formatOperationError(operation, startTime, errorMessage, error);
128
- }
129
- }
130
- /**
131
- * Execute operation on single provider
132
- */
133
- async executeSingleProviderOperation(provider, operation, startTime) {
134
- try {
135
- // Auto-fill repo from projectPath when missing
136
- if (operation.parameters && !operation.parameters.repo && operation.parameters.projectPath) {
137
- try {
138
- const { repositoryDetector } = await Promise.resolve().then(() => __importStar(require('../utils/repository-detector.js')));
139
- const context = await repositoryDetector.getProjectContext(operation.parameters.projectPath);
140
- if (context && context.autoDetectedSettings) {
141
- if (!operation.parameters.repo && context.autoDetectedSettings.repository) {
142
- operation.parameters.repo = context.autoDetectedSettings.repository;
143
- }
144
- }
145
- }
146
- catch {
147
- // ignore auto-detection errors and proceed, provider will return meaningful error
148
- }
149
- }
150
- const result = await provider.executeOperation(operation.operation, operation.parameters);
151
- return {
152
- success: result.success,
153
- results: [result],
154
- partialFailure: false,
155
- errors: result.success ? [] : [result],
156
- metadata: {
157
- operation: operation.operation,
158
- provider: operation.provider,
159
- executionTime: Date.now() - startTime,
160
- timestamp: new Date().toISOString()
161
- }
162
- };
163
- }
164
- catch (error) {
165
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
166
- const errorResult = {
167
- success: false,
168
- error: {
169
- code: 'PROVIDER_EXECUTION_ERROR',
170
- message: errorMessage,
171
- details: error
172
- },
173
- provider: operation.provider
174
- };
175
- return {
176
- success: false,
177
- results: [],
178
- partialFailure: false,
179
- errors: [errorResult],
180
- metadata: {
181
- operation: operation.operation,
182
- provider: operation.provider,
183
- executionTime: Date.now() - startTime,
184
- timestamp: new Date().toISOString()
185
- }
186
- };
187
- }
188
- }
189
- /**
190
- * Execute operation on multiple providers in parallel
191
- */
192
- async executeMultiProviderOperation(multiProvider, operation, startTime) {
193
- try {
194
- const results = await multiProvider.executeOperation(operation.operation, operation.parameters);
195
- const successResults = results.filter(r => r.success);
196
- const errorResults = results.filter(r => !r.success);
197
- const hasSuccess = successResults.length > 0;
198
- const hasErrors = errorResults.length > 0;
199
- const partialFailure = hasSuccess && hasErrors;
200
- return {
201
- success: hasSuccess,
202
- results: successResults,
203
- partialFailure,
204
- errors: errorResults,
205
- metadata: {
206
- operation: operation.operation,
207
- provider: operation.provider,
208
- executionTime: Date.now() - startTime,
209
- timestamp: new Date().toISOString()
210
- }
211
- };
212
- }
213
- catch (error) {
214
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
215
- return this.formatOperationError(operation, startTime, errorMessage, error);
216
- }
217
- }
218
- /**
219
- * Validate operation before execution
220
- */
221
- validateOperation(operation) {
222
- const errors = [];
223
- const warnings = [];
224
- // Validate provider
225
- if (!operation.provider) {
226
- errors.push('Provider is required');
227
- }
228
- else if (!['github', 'gitea', 'both'].includes(operation.provider)) {
229
- errors.push(`Invalid provider: ${operation.provider}. Valid options: github, gitea, both`);
230
- }
231
- // Validate operation name
232
- if (!operation.operation) {
233
- errors.push('Operation is required');
234
- }
235
- // Validate parameters
236
- if (!operation.parameters) {
237
- errors.push('Parameters are required');
238
- }
239
- // Check provider availability
240
- if (operation.provider === 'github' && !this.factory.isProviderAvailable('github')) {
241
- errors.push('GitHub provider is not configured');
242
- }
243
- if (operation.provider === 'gitea' && !this.factory.isProviderAvailable('gitea')) {
244
- errors.push('Gitea provider is not configured');
245
- }
246
- if (operation.provider === 'both') {
247
- const availableProviders = this.factory.getAvailableProviders();
248
- if (availableProviders.length === 0) {
249
- errors.push('No providers are configured');
250
- }
251
- else if (availableProviders.length === 1) {
252
- warnings.push(`Only ${availableProviders[0]} provider is configured, 'both' will only use one provider`);
253
- }
254
- }
255
- // Validate authentication requirements
256
- if (operation.requiresAuth) {
257
- if (operation.provider === 'github' && !this.config.github?.token) {
258
- errors.push('GitHub authentication is required for this operation');
259
- }
260
- if (operation.provider === 'gitea' && !this.config.gitea?.token) {
261
- errors.push('Gitea authentication is required for this operation');
262
- }
263
- }
264
- return {
265
- valid: errors.length === 0,
266
- errors,
267
- warnings
268
- };
269
- }
270
- /**
271
- * Get provider status and configuration
272
- */
273
- getProviderStatus() {
274
- const githubValidation = this.factory.validateProviderConfig('github');
275
- const giteaValidation = this.factory.validateProviderConfig('gitea');
276
- const availableProviders = this.factory.getAvailableProviders();
277
- return {
278
- github: {
279
- configured: githubValidation.valid,
280
- available: this.factory.isProviderAvailable('github'),
281
- missingFields: githubValidation.missingFields
282
- },
283
- gitea: {
284
- configured: giteaValidation.valid,
285
- available: this.factory.isProviderAvailable('gitea'),
286
- missingFields: giteaValidation.missingFields
287
- },
288
- multiProvider: {
289
- available: availableProviders.length > 1,
290
- configuredProviders: availableProviders
291
- }
292
- };
293
- }
294
- /**
295
- * Aggregate results from multiple providers
296
- */
297
- aggregateResults(results) {
298
- const successResults = results.filter(r => r.success);
299
- const failedResults = results.filter(r => !r.success);
300
- // Combine data from successful results
301
- let combinedData = {};
302
- if (successResults.length === 1) {
303
- combinedData = successResults[0].data;
304
- }
305
- else if (successResults.length > 1) {
306
- // For multiple results, create an object with provider-specific data
307
- combinedData = {};
308
- successResults.forEach(result => {
309
- combinedData[result.provider] = result.data;
310
- });
311
- }
312
- return {
313
- combinedData,
314
- summary: {
315
- totalProviders: results.length,
316
- successfulProviders: successResults.length,
317
- failedProviders: failedResults.length,
318
- providers: results.map(r => r.provider)
319
- }
320
- };
321
- }
322
- /**
323
- * Handle partial failures with retry logic
324
- */
325
- async handlePartialFailure(operation, results, retryOptions) {
326
- const options = {
327
- maxRetries: 1,
328
- retryDelay: 1000,
329
- retryFailedOnly: true,
330
- ...retryOptions
331
- };
332
- const failedResults = results.filter(r => !r.success);
333
- if (failedResults.length === 0 || options.maxRetries === 0) {
334
- // No failures or no retries requested
335
- return this.executeOperation(operation);
336
- }
337
- // Wait before retry
338
- await new Promise(resolve => setTimeout(resolve, options.retryDelay));
339
- if (options.retryFailedOnly) {
340
- // Retry only failed providers
341
- const failedProviders = failedResults.map(r => r.provider);
342
- const retryOperation = {
343
- ...operation,
344
- provider: failedProviders.length === 1 ? failedProviders[0] : 'both'
345
- };
346
- return this.executeOperation(retryOperation);
347
- }
348
- else {
349
- // Retry entire operation
350
- return this.executeOperation(operation);
351
- }
352
- }
353
- /**
354
- * Check if provider is multi-provider
355
- */
356
- isMultiProvider(provider) {
357
- return 'providers' in provider;
358
- }
359
- /**
360
- * Check if operation is a write operation
361
- */
362
- isWriteOperation(operation) {
363
- const writeOps = ['create', 'update', 'delete', 'merge', 'close', 'publish'];
364
- return writeOps.some(op => operation.includes(op));
365
- }
366
- /**
367
- * Check if operation is a read operation
368
- */
369
- isReadOperation(operation) {
370
- const readOps = ['list', 'get', 'search', 'show'];
371
- return readOps.some(op => operation.includes(op));
372
- }
373
- /**
374
- * Ensure repository is synchronized before write operations
375
- */
376
- async ensureRepositorySynchronized(operation) {
377
- if (operation.parameters.repo) {
378
- if (operation.provider === 'both') {
379
- const promises = [];
380
- if (config_js_1.configManager.isGitHubConfigured()) {
381
- promises.push(this.repositorySync.ensureRepositoryExists(operation.parameters.repo, 'github'));
382
- }
383
- if (config_js_1.configManager.isGiteaConfigured()) {
384
- promises.push(this.repositorySync.ensureRepositoryExists(operation.parameters.repo, 'gitea'));
385
- }
386
- if (promises.length > 0) {
387
- await Promise.all(promises);
388
- }
389
- }
390
- else {
391
- await this.repositorySync.ensureRepositoryExists(operation.parameters.repo, operation.provider);
392
- }
393
- }
394
- }
395
- /**
396
- * Merge operation results for read operations
397
- */
398
- mergeOperationResults(operation, results) {
399
- if (operation.includes('list')) {
400
- return data_merger_js_1.DataMerger.mergeListResults(results);
401
- }
402
- else if (operation.includes('get')) {
403
- return data_merger_js_1.DataMerger.mergeGetResults(results);
404
- }
405
- else if (operation.includes('search')) {
406
- return data_merger_js_1.DataMerger.mergeSearchResults(results);
407
- }
408
- return results;
409
- }
410
- /**
411
- * Attempt automatic recovery for partial failures
412
- */
413
- async attemptAutoRecovery(operation, result) {
414
- for (const error of result.errors) {
415
- const recovered = await this.repositorySync.attemptRecovery(operation.operation, operation.parameters, error.provider);
416
- if (recovered) {
417
- console.error(`[Universal Mode] Auto-recovered ${error.provider}`);
418
- }
419
- }
420
- }
421
- /**
422
- * Format operation error
423
- */
424
- formatOperationError(operation, startTime, message, details) {
425
- const errorResult = {
426
- success: false,
427
- error: {
428
- code: 'OPERATION_ERROR',
429
- message,
430
- details
431
- },
432
- provider: operation.provider
433
- };
434
- return {
435
- success: false,
436
- results: [],
437
- partialFailure: false,
438
- errors: [errorResult],
439
- metadata: {
440
- operation: operation.operation,
441
- provider: operation.provider,
442
- executionTime: Date.now() - startTime,
443
- timestamp: new Date().toISOString()
444
- }
445
- };
446
- }
447
- }
448
- exports.ProviderOperationHandler = ProviderOperationHandler;
449
- //# sourceMappingURL=provider-operation-handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provider-operation-handler.js","sourceRoot":"","sources":["../../src/providers/provider-operation-handler.ts"],"names":[],"mappings":"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"}
@@ -1,200 +0,0 @@
1
- /**
2
- * Provider Type Definitions
3
- *
4
- * Common types and interfaces for VCS providers (GitHub, Gitea).
5
- */
6
- export interface ProviderConfig {
7
- github?: {
8
- token: string;
9
- username: string;
10
- };
11
- gitea?: {
12
- url: string;
13
- token: string;
14
- username: string;
15
- };
16
- }
17
- export interface ProviderOperation {
18
- provider: 'github' | 'gitea' | 'both';
19
- operation: string;
20
- parameters: Record<string, any>;
21
- requiresAuth: boolean;
22
- isRemoteOperation: boolean;
23
- }
24
- export interface ProviderResult {
25
- success: boolean;
26
- data?: any;
27
- error?: {
28
- code: string;
29
- message: string;
30
- details?: any;
31
- };
32
- provider: string;
33
- }
34
- /**
35
- * Repository operations supported by providers
36
- */
37
- export interface RepositoryOperations {
38
- create: (params: CreateRepoParams) => Promise<any>;
39
- list: (params: ListReposParams) => Promise<any>;
40
- get: (params: GetRepoParams) => Promise<any>;
41
- update: (params: UpdateRepoParams) => Promise<any>;
42
- delete: (params: DeleteRepoParams) => Promise<any>;
43
- fork: (params: ForkRepoParams) => Promise<any>;
44
- search: (params: SearchReposParams) => Promise<any>;
45
- }
46
- /**
47
- * Issue operations supported by providers
48
- */
49
- export interface IssueOperations {
50
- create: (params: CreateIssueParams) => Promise<any>;
51
- list: (params: ListIssuesParams) => Promise<any>;
52
- get: (params: GetIssueParams) => Promise<any>;
53
- update: (params: UpdateIssueParams) => Promise<any>;
54
- close: (params: CloseIssueParams) => Promise<any>;
55
- comment: (params: CommentIssueParams) => Promise<any>;
56
- search: (params: SearchIssuesParams) => Promise<any>;
57
- }
58
- /**
59
- * Pull Request operations supported by providers
60
- */
61
- export interface PullRequestOperations {
62
- create: (params: CreatePRParams) => Promise<any>;
63
- list: (params: ListPRsParams) => Promise<any>;
64
- get: (params: GetPRParams) => Promise<any>;
65
- update: (params: UpdatePRParams) => Promise<any>;
66
- merge: (params: MergePRParams) => Promise<any>;
67
- close: (params: ClosePRParams) => Promise<any>;
68
- review: (params: ReviewPRParams) => Promise<any>;
69
- search: (params: SearchPRsParams) => Promise<any>;
70
- }
71
- export interface CreateRepoParams {
72
- name: string;
73
- description?: string;
74
- private?: boolean;
75
- [key: string]: any;
76
- }
77
- export interface ListReposParams {
78
- type?: 'all' | 'owner' | 'member';
79
- [key: string]: any;
80
- }
81
- export interface GetRepoParams {
82
- repo: string;
83
- [key: string]: any;
84
- }
85
- export interface UpdateRepoParams {
86
- repo: string;
87
- name?: string;
88
- description?: string;
89
- [key: string]: any;
90
- }
91
- export interface DeleteRepoParams {
92
- repo: string;
93
- [key: string]: any;
94
- }
95
- export interface ForkRepoParams {
96
- repo: string;
97
- organization?: string;
98
- [key: string]: any;
99
- }
100
- export interface SearchReposParams {
101
- query: string;
102
- sort?: string;
103
- order?: 'asc' | 'desc';
104
- [key: string]: any;
105
- }
106
- export interface CreateIssueParams {
107
- repo: string;
108
- title: string;
109
- body?: string;
110
- labels?: string[];
111
- [key: string]: any;
112
- }
113
- export interface ListIssuesParams {
114
- repo: string;
115
- state?: 'open' | 'closed' | 'all';
116
- [key: string]: any;
117
- }
118
- export interface GetIssueParams {
119
- repo: string;
120
- issue_number: number;
121
- [key: string]: any;
122
- }
123
- export interface UpdateIssueParams {
124
- repo: string;
125
- issue_number: number;
126
- title?: string;
127
- body?: string;
128
- state?: 'open' | 'closed';
129
- [key: string]: any;
130
- }
131
- export interface CloseIssueParams {
132
- repo: string;
133
- issue_number: number;
134
- [key: string]: any;
135
- }
136
- export interface CommentIssueParams {
137
- repo: string;
138
- issue_number: number;
139
- body: string;
140
- [key: string]: any;
141
- }
142
- export interface SearchIssuesParams {
143
- query: string;
144
- sort?: string;
145
- order?: 'asc' | 'desc';
146
- [key: string]: any;
147
- }
148
- export interface CreatePRParams {
149
- repo: string;
150
- title: string;
151
- head: string;
152
- base: string;
153
- body?: string;
154
- [key: string]: any;
155
- }
156
- export interface ListPRsParams {
157
- repo: string;
158
- state?: 'open' | 'closed' | 'all';
159
- [key: string]: any;
160
- }
161
- export interface GetPRParams {
162
- repo: string;
163
- pull_number: number;
164
- [key: string]: any;
165
- }
166
- export interface UpdatePRParams {
167
- repo: string;
168
- pull_number: number;
169
- title?: string;
170
- body?: string;
171
- state?: 'open' | 'closed';
172
- [key: string]: any;
173
- }
174
- export interface MergePRParams {
175
- repo: string;
176
- pull_number: number;
177
- commit_title?: string;
178
- commit_message?: string;
179
- merge_method?: 'merge' | 'squash' | 'rebase';
180
- [key: string]: any;
181
- }
182
- export interface ClosePRParams {
183
- repo: string;
184
- pull_number: number;
185
- [key: string]: any;
186
- }
187
- export interface ReviewPRParams {
188
- repo: string;
189
- pull_number: number;
190
- event: 'APPROVE' | 'REQUEST_CHANGES' | 'COMMENT';
191
- body?: string;
192
- [key: string]: any;
193
- }
194
- export interface SearchPRsParams {
195
- query: string;
196
- sort?: string;
197
- order?: 'asc' | 'desc';
198
- [key: string]: any;
199
- }
200
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":"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"}