@andrebuzeli/git-mcp 5.5.1 → 5.5.2

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 (224) hide show
  1. package/README.md +25 -0
  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 +66 -144
  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/server.d.ts +6 -40
  13. package/dist/server.js +30 -700
  14. package/dist/tools/gitAnalytics.d.ts +29 -0
  15. package/dist/tools/gitAnalytics.js +72 -0
  16. package/dist/tools/gitArchive.d.ts +6 -0
  17. package/dist/tools/gitArchive.js +27 -0
  18. package/dist/tools/gitBackup.d.ts +10 -0
  19. package/dist/tools/gitBackup.js +44 -0
  20. package/dist/tools/gitBranches.d.ts +72 -0
  21. package/dist/tools/gitBranches.js +97 -0
  22. package/dist/tools/gitConfig.d.ts +34 -0
  23. package/dist/tools/gitConfig.js +73 -0
  24. package/dist/tools/gitFiles.d.ts +24 -0
  25. package/dist/tools/gitFiles.js +53 -0
  26. package/dist/tools/gitIssues.d.ts +21 -0
  27. package/dist/tools/gitIssues.js +193 -0
  28. package/dist/tools/gitMonitor.d.ts +51 -0
  29. package/dist/tools/gitMonitor.js +102 -0
  30. package/dist/tools/gitPackages.d.ts +6 -0
  31. package/dist/tools/gitPackages.js +28 -0
  32. package/dist/tools/gitPulls.d.ts +74 -0
  33. package/dist/tools/gitPulls.js +190 -0
  34. package/dist/tools/gitRelease.d.ts +34 -0
  35. package/dist/tools/gitRelease.js +99 -0
  36. package/dist/tools/gitRemote.d.ts +51 -0
  37. package/dist/tools/gitRemote.js +68 -0
  38. package/dist/tools/gitReset.d.ts +34 -0
  39. package/dist/tools/gitReset.js +64 -0
  40. package/dist/tools/gitStash.d.ts +41 -0
  41. package/dist/tools/gitStash.js +67 -0
  42. package/dist/tools/gitSync.d.ts +25 -0
  43. package/dist/tools/gitSync.js +51 -0
  44. package/dist/tools/gitTags.d.ts +30 -0
  45. package/dist/tools/gitTags.js +69 -0
  46. package/dist/tools/gitWorkflow.d.ts +69 -0
  47. package/dist/tools/gitWorkflow.js +129 -0
  48. package/dist/types.d.ts +10 -0
  49. package/dist/types.js +2 -0
  50. package/dist/utils/errors.d.ts +13 -0
  51. package/dist/utils/errors.js +22 -0
  52. package/dist/utils/safetyController.d.ts +1 -0
  53. package/dist/utils/safetyController.js +15 -0
  54. package/package.json +7 -2
  55. package/dist/config.d.ts.map +0 -1
  56. package/dist/config.js.map +0 -1
  57. package/dist/index.d.ts.map +0 -1
  58. package/dist/index.js.map +0 -1
  59. package/dist/providers/base-provider.d.ts +0 -66
  60. package/dist/providers/base-provider.d.ts.map +0 -1
  61. package/dist/providers/base-provider.js +0 -65
  62. package/dist/providers/base-provider.js.map +0 -1
  63. package/dist/providers/gitea-provider.d.ts +0 -79
  64. package/dist/providers/gitea-provider.d.ts.map +0 -1
  65. package/dist/providers/gitea-provider.js +0 -576
  66. package/dist/providers/gitea-provider.js.map +0 -1
  67. package/dist/providers/github-provider.d.ts +0 -74
  68. package/dist/providers/github-provider.d.ts.map +0 -1
  69. package/dist/providers/github-provider.js +0 -683
  70. package/dist/providers/github-provider.js.map +0 -1
  71. package/dist/providers/index.d.ts +0 -13
  72. package/dist/providers/index.d.ts.map +0 -1
  73. package/dist/providers/index.js +0 -35
  74. package/dist/providers/index.js.map +0 -1
  75. package/dist/providers/provider-factory.d.ts +0 -49
  76. package/dist/providers/provider-factory.d.ts.map +0 -1
  77. package/dist/providers/provider-factory.js +0 -193
  78. package/dist/providers/provider-factory.js.map +0 -1
  79. package/dist/providers/provider-operation-handler.d.ts +0 -115
  80. package/dist/providers/provider-operation-handler.d.ts.map +0 -1
  81. package/dist/providers/provider-operation-handler.js +0 -449
  82. package/dist/providers/provider-operation-handler.js.map +0 -1
  83. package/dist/providers/types.d.ts +0 -200
  84. package/dist/providers/types.d.ts.map +0 -1
  85. package/dist/providers/types.js +0 -8
  86. package/dist/providers/types.js.map +0 -1
  87. package/dist/server.d.ts.map +0 -1
  88. package/dist/server.js.map +0 -1
  89. package/dist/tools/git-analytics.d.ts +0 -237
  90. package/dist/tools/git-analytics.d.ts.map +0 -1
  91. package/dist/tools/git-analytics.js +0 -819
  92. package/dist/tools/git-analytics.js.map +0 -1
  93. package/dist/tools/git-archive.d.ts +0 -113
  94. package/dist/tools/git-archive.d.ts.map +0 -1
  95. package/dist/tools/git-archive.js +0 -466
  96. package/dist/tools/git-archive.js.map +0 -1
  97. package/dist/tools/git-auto-monitor.d.ts +0 -180
  98. package/dist/tools/git-auto-monitor.d.ts.map +0 -1
  99. package/dist/tools/git-auto-monitor.js +0 -522
  100. package/dist/tools/git-auto-monitor.js.map +0 -1
  101. package/dist/tools/git-backup.d.ts +0 -105
  102. package/dist/tools/git-backup.d.ts.map +0 -1
  103. package/dist/tools/git-backup.js +0 -414
  104. package/dist/tools/git-backup.js.map +0 -1
  105. package/dist/tools/git-branches.d.ts +0 -183
  106. package/dist/tools/git-branches.d.ts.map +0 -1
  107. package/dist/tools/git-branches.js +0 -498
  108. package/dist/tools/git-branches.js.map +0 -1
  109. package/dist/tools/git-config.d.ts +0 -119
  110. package/dist/tools/git-config.d.ts.map +0 -1
  111. package/dist/tools/git-config.js +0 -449
  112. package/dist/tools/git-config.js.map +0 -1
  113. package/dist/tools/git-files.d.ts +0 -150
  114. package/dist/tools/git-files.d.ts.map +0 -1
  115. package/dist/tools/git-files.js +0 -527
  116. package/dist/tools/git-files.js.map +0 -1
  117. package/dist/tools/git-history.d.ts +0 -253
  118. package/dist/tools/git-history.d.ts.map +0 -1
  119. package/dist/tools/git-history.js +0 -824
  120. package/dist/tools/git-history.js.map +0 -1
  121. package/dist/tools/git-issues.d.ts +0 -164
  122. package/dist/tools/git-issues.d.ts.map +0 -1
  123. package/dist/tools/git-issues.js +0 -340
  124. package/dist/tools/git-issues.js.map +0 -1
  125. package/dist/tools/git-monitor.d.ts +0 -154
  126. package/dist/tools/git-monitor.d.ts.map +0 -1
  127. package/dist/tools/git-monitor.js +0 -531
  128. package/dist/tools/git-monitor.js.map +0 -1
  129. package/dist/tools/git-packages.d.ts +0 -157
  130. package/dist/tools/git-packages.d.ts.map +0 -1
  131. package/dist/tools/git-packages.js +0 -534
  132. package/dist/tools/git-packages.js.map +0 -1
  133. package/dist/tools/git-pulls.d.ts +0 -180
  134. package/dist/tools/git-pulls.d.ts.map +0 -1
  135. package/dist/tools/git-pulls.js +0 -369
  136. package/dist/tools/git-pulls.js.map +0 -1
  137. package/dist/tools/git-release.d.ts +0 -161
  138. package/dist/tools/git-release.d.ts.map +0 -1
  139. package/dist/tools/git-release.js +0 -466
  140. package/dist/tools/git-release.js.map +0 -1
  141. package/dist/tools/git-remote.d.ts +0 -128
  142. package/dist/tools/git-remote.d.ts.map +0 -1
  143. package/dist/tools/git-remote.js +0 -542
  144. package/dist/tools/git-remote.js.map +0 -1
  145. package/dist/tools/git-reset.d.ts +0 -120
  146. package/dist/tools/git-reset.d.ts.map +0 -1
  147. package/dist/tools/git-reset.js +0 -479
  148. package/dist/tools/git-reset.js.map +0 -1
  149. package/dist/tools/git-stash.d.ts +0 -124
  150. package/dist/tools/git-stash.d.ts.map +0 -1
  151. package/dist/tools/git-stash.js +0 -506
  152. package/dist/tools/git-stash.js.map +0 -1
  153. package/dist/tools/git-sync.d.ts +0 -154
  154. package/dist/tools/git-sync.d.ts.map +0 -1
  155. package/dist/tools/git-sync.js +0 -479
  156. package/dist/tools/git-sync.js.map +0 -1
  157. package/dist/tools/git-tags.d.ts +0 -136
  158. package/dist/tools/git-tags.d.ts.map +0 -1
  159. package/dist/tools/git-tags.js +0 -461
  160. package/dist/tools/git-tags.js.map +0 -1
  161. package/dist/tools/git-update.d.ts +0 -224
  162. package/dist/tools/git-update.d.ts.map +0 -1
  163. package/dist/tools/git-update.js +0 -948
  164. package/dist/tools/git-update.js.map +0 -1
  165. package/dist/tools/git-workflow.d.ts +0 -189
  166. package/dist/tools/git-workflow.d.ts.map +0 -1
  167. package/dist/tools/git-workflow.js +0 -542
  168. package/dist/tools/git-workflow.js.map +0 -1
  169. package/dist/utils/credential-manager.d.ts +0 -119
  170. package/dist/utils/credential-manager.d.ts.map +0 -1
  171. package/dist/utils/credential-manager.js +0 -450
  172. package/dist/utils/credential-manager.js.map +0 -1
  173. package/dist/utils/data-merger.d.ts +0 -49
  174. package/dist/utils/data-merger.d.ts.map +0 -1
  175. package/dist/utils/data-merger.js +0 -233
  176. package/dist/utils/data-merger.js.map +0 -1
  177. package/dist/utils/git-command-executor.d.ts +0 -330
  178. package/dist/utils/git-command-executor.d.ts.map +0 -1
  179. package/dist/utils/git-command-executor.js +0 -901
  180. package/dist/utils/git-command-executor.js.map +0 -1
  181. package/dist/utils/logger.d.ts +0 -143
  182. package/dist/utils/logger.d.ts.map +0 -1
  183. package/dist/utils/logger.js +0 -473
  184. package/dist/utils/logger.js.map +0 -1
  185. package/dist/utils/operation-error-handler.d.ts +0 -97
  186. package/dist/utils/operation-error-handler.d.ts.map +0 -1
  187. package/dist/utils/operation-error-handler.js +0 -367
  188. package/dist/utils/operation-error-handler.js.map +0 -1
  189. package/dist/utils/parameter-validator.d.ts +0 -49
  190. package/dist/utils/parameter-validator.d.ts.map +0 -1
  191. package/dist/utils/parameter-validator.js +0 -647
  192. package/dist/utils/parameter-validator.js.map +0 -1
  193. package/dist/utils/repository-checker.d.ts +0 -46
  194. package/dist/utils/repository-checker.d.ts.map +0 -1
  195. package/dist/utils/repository-checker.js +0 -151
  196. package/dist/utils/repository-checker.js.map +0 -1
  197. package/dist/utils/repository-detector.d.ts +0 -128
  198. package/dist/utils/repository-detector.d.ts.map +0 -1
  199. package/dist/utils/repository-detector.js +0 -422
  200. package/dist/utils/repository-detector.js.map +0 -1
  201. package/dist/utils/repository-sync.d.ts +0 -67
  202. package/dist/utils/repository-sync.d.ts.map +0 -1
  203. package/dist/utils/repository-sync.js +0 -344
  204. package/dist/utils/repository-sync.js.map +0 -1
  205. package/dist/utils/response-formatter.d.ts +0 -146
  206. package/dist/utils/response-formatter.d.ts.map +0 -1
  207. package/dist/utils/response-formatter.js +0 -378
  208. package/dist/utils/response-formatter.js.map +0 -1
  209. package/dist/utils/retry.d.ts +0 -12
  210. package/dist/utils/retry.d.ts.map +0 -1
  211. package/dist/utils/retry.js +0 -28
  212. package/dist/utils/retry.js.map +0 -1
  213. package/dist/utils/safety-warnings.d.ts +0 -56
  214. package/dist/utils/safety-warnings.d.ts.map +0 -1
  215. package/dist/utils/safety-warnings.js +0 -330
  216. package/dist/utils/safety-warnings.js.map +0 -1
  217. package/dist/utils/terminal-controller.d.ts +0 -79
  218. package/dist/utils/terminal-controller.d.ts.map +0 -1
  219. package/dist/utils/terminal-controller.js +0 -291
  220. package/dist/utils/terminal-controller.js.map +0 -1
  221. package/dist/utils/user-friendly-formatter.d.ts +0 -45
  222. package/dist/utils/user-friendly-formatter.d.ts.map +0 -1
  223. package/dist/utils/user-friendly-formatter.js +0 -175
  224. 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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"}