@andrebuzeli/git-mcp 4.0.21 → 5.0.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 (65) hide show
  1. package/README.md +59 -32
  2. package/dist/config.d.ts +0 -2
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.js +0 -27
  5. package/dist/config.js.map +1 -1
  6. package/dist/index.d.ts +0 -1
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +54 -3
  9. package/dist/index.js.map +1 -1
  10. package/dist/providers/gitea-provider.d.ts +5 -5
  11. package/dist/providers/gitea-provider.d.ts.map +1 -1
  12. package/dist/providers/gitea-provider.js +75 -220
  13. package/dist/providers/gitea-provider.js.map +1 -1
  14. package/dist/providers/github-provider.d.ts +0 -48
  15. package/dist/providers/github-provider.d.ts.map +1 -1
  16. package/dist/providers/github-provider.js +805 -849
  17. package/dist/providers/github-provider.js.map +1 -1
  18. package/dist/providers/provider-factory.d.ts +1 -1
  19. package/dist/providers/provider-factory.d.ts.map +1 -1
  20. package/dist/providers/provider-factory.js +4 -14
  21. package/dist/providers/provider-factory.js.map +1 -1
  22. package/dist/providers/types.d.ts +1 -1
  23. package/dist/providers/types.d.ts.map +1 -1
  24. package/dist/server.d.ts.map +1 -1
  25. package/dist/server.js +91 -37
  26. package/dist/server.js.map +1 -1
  27. package/dist/tools/git-files.d.ts.map +1 -1
  28. package/dist/tools/git-files.js +103 -5
  29. package/dist/tools/git-files.js.map +1 -1
  30. package/dist/tools/git-sync.d.ts.map +1 -1
  31. package/dist/tools/git-sync.js +104 -6
  32. package/dist/tools/git-sync.js.map +1 -1
  33. package/dist/tools/git-workflow.d.ts +55 -0
  34. package/dist/tools/git-workflow.d.ts.map +1 -1
  35. package/dist/tools/git-workflow.js +660 -7
  36. package/dist/tools/git-workflow.js.map +1 -1
  37. package/dist/utils/auto-detection.js +1 -1
  38. package/dist/utils/auto-detection.js.map +1 -1
  39. package/dist/utils/configuration-error-generator.d.ts +41 -0
  40. package/dist/utils/configuration-error-generator.d.ts.map +1 -0
  41. package/dist/utils/configuration-error-generator.js +168 -0
  42. package/dist/utils/configuration-error-generator.js.map +1 -0
  43. package/dist/utils/configuration-validator.d.ts +67 -0
  44. package/dist/utils/configuration-validator.d.ts.map +1 -0
  45. package/dist/utils/configuration-validator.js +257 -0
  46. package/dist/utils/configuration-validator.js.map +1 -0
  47. package/dist/utils/multi-provider-error-handler.d.ts +75 -0
  48. package/dist/utils/multi-provider-error-handler.d.ts.map +1 -0
  49. package/dist/utils/multi-provider-error-handler.js +276 -0
  50. package/dist/utils/multi-provider-error-handler.js.map +1 -0
  51. package/dist/utils/multi-provider-operation-handler.d.ts +113 -0
  52. package/dist/utils/multi-provider-operation-handler.d.ts.map +1 -0
  53. package/dist/utils/multi-provider-operation-handler.js +303 -0
  54. package/dist/utils/multi-provider-operation-handler.js.map +1 -0
  55. package/dist/utils/operation-error-handler.d.ts +69 -0
  56. package/dist/utils/operation-error-handler.d.ts.map +1 -0
  57. package/dist/utils/operation-error-handler.js +277 -0
  58. package/dist/utils/operation-error-handler.js.map +1 -0
  59. package/dist/utils/provider-operation-handler.d.ts +80 -0
  60. package/dist/utils/provider-operation-handler.d.ts.map +1 -0
  61. package/dist/utils/provider-operation-handler.js +201 -0
  62. package/dist/utils/provider-operation-handler.js.map +1 -0
  63. package/dist/utils/response-helper.js +1 -1
  64. package/dist/utils/response-helper.js.map +1 -1
  65. package/package.json +60 -60
@@ -0,0 +1,277 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OperationErrorHandler = void 0;
4
+ const configuration_error_generator_js_1 = require("./configuration-error-generator.js");
5
+ /**
6
+ * Operation error handler for Git MCP providers
7
+ * Provides comprehensive error handling with configuration guidance
8
+ */
9
+ class OperationErrorHandler {
10
+ /**
11
+ * Handle authentication errors with configuration guidance
12
+ */
13
+ static handleAuthenticationError(error, provider) {
14
+ const configError = configuration_error_generator_js_1.ConfigurationErrorGenerator.generateAuthenticationError(provider);
15
+ return {
16
+ code: 'AUTHENTICATION_FAILED',
17
+ message: `Authentication failed for ${provider}`,
18
+ provider,
19
+ cause: 'Invalid or expired token, or insufficient permissions',
20
+ solution: 'Update your token with proper permissions',
21
+ configuration: configError,
22
+ troubleshooting: [
23
+ 'Verify your token is not expired',
24
+ 'Check token permissions include repo, user, and admin:repo_hook',
25
+ 'Test token manually with API call',
26
+ 'Regenerate token if necessary'
27
+ ]
28
+ };
29
+ }
30
+ /**
31
+ * Handle network errors with troubleshooting steps
32
+ */
33
+ static handleNetworkError(error, provider, endpoint) {
34
+ const configError = configuration_error_generator_js_1.ConfigurationErrorGenerator.generateNetworkError(provider, endpoint);
35
+ return {
36
+ code: 'NETWORK_ERROR',
37
+ message: `Network error connecting to ${provider}`,
38
+ provider,
39
+ cause: 'Connection failed to provider API',
40
+ solution: 'Check network connectivity and provider configuration',
41
+ configuration: configError,
42
+ troubleshooting: [
43
+ 'Check internet connection',
44
+ 'Verify provider API is accessible',
45
+ 'Test DNS resolution for provider domain',
46
+ 'Check firewall settings',
47
+ 'Verify proxy settings if applicable'
48
+ ]
49
+ };
50
+ }
51
+ /**
52
+ * Handle permission errors with access instructions
53
+ */
54
+ static handlePermissionError(error, provider, operation) {
55
+ const baseConfig = provider === 'github'
56
+ ? configuration_error_generator_js_1.ConfigurationErrorGenerator.generateGitHubError()
57
+ : configuration_error_generator_js_1.ConfigurationErrorGenerator.generateGiteaError();
58
+ const configError = {
59
+ ...baseConfig,
60
+ instructions: [
61
+ `Permission denied for ${operation || 'operation'} on ${provider}`,
62
+ '',
63
+ 'This usually means:',
64
+ '• Token lacks required permissions for this operation',
65
+ '• Repository/resource access is restricted',
66
+ '• Organization policies prevent this action',
67
+ '',
68
+ 'To fix permission issues:',
69
+ '1. Check token permissions include:',
70
+ ' - repo (for repository operations)',
71
+ ' - user (for user information)',
72
+ ' - admin:repo_hook (for webhook management)',
73
+ ' - delete_repo (for repository deletion)',
74
+ '2. Verify you have access to the target repository/resource',
75
+ '3. Check organization/team permissions if applicable',
76
+ '4. Contact repository owner if you need additional access'
77
+ ]
78
+ };
79
+ return {
80
+ code: 'PERMISSION_DENIED',
81
+ message: `Permission denied for ${operation || 'operation'} on ${provider}`,
82
+ provider,
83
+ cause: 'Insufficient permissions or access restrictions',
84
+ solution: 'Update token permissions or request access',
85
+ configuration: configError,
86
+ troubleshooting: [
87
+ 'Verify token has required scopes',
88
+ 'Check repository/organization access',
89
+ 'Confirm user permissions for the operation',
90
+ 'Review organization security policies'
91
+ ]
92
+ };
93
+ }
94
+ /**
95
+ * Handle resource not found errors
96
+ */
97
+ static handleNotFoundError(error, provider, resource) {
98
+ return {
99
+ code: 'RESOURCE_NOT_FOUND',
100
+ message: `${resource || 'Resource'} not found on ${provider}`,
101
+ provider,
102
+ cause: 'Requested resource does not exist or is not accessible',
103
+ solution: 'Verify resource name and access permissions',
104
+ troubleshooting: [
105
+ 'Check spelling of repository/resource name',
106
+ 'Verify the resource exists on the provider',
107
+ 'Confirm you have read access to the resource',
108
+ 'Check if resource was moved or renamed',
109
+ 'Verify organization/user name is correct'
110
+ ]
111
+ };
112
+ }
113
+ /**
114
+ * Handle rate limiting errors
115
+ */
116
+ static handleRateLimitError(error, provider) {
117
+ return {
118
+ code: 'RATE_LIMIT_EXCEEDED',
119
+ message: `Rate limit exceeded for ${provider}`,
120
+ provider,
121
+ cause: 'Too many API requests in a short time period',
122
+ solution: 'Wait before retrying or use authenticated requests',
123
+ troubleshooting: [
124
+ 'Wait for rate limit reset (usually 1 hour)',
125
+ 'Use authenticated requests for higher limits',
126
+ 'Implement request throttling in your application',
127
+ 'Consider using multiple tokens for higher throughput',
128
+ 'Check provider documentation for rate limit details'
129
+ ]
130
+ };
131
+ }
132
+ /**
133
+ * Handle timeout errors
134
+ */
135
+ static handleTimeoutError(error, provider) {
136
+ return {
137
+ code: 'REQUEST_TIMEOUT',
138
+ message: `Request timeout for ${provider}`,
139
+ provider,
140
+ cause: 'Request took too long to complete',
141
+ solution: 'Retry the operation or check provider status',
142
+ troubleshooting: [
143
+ 'Check provider service status',
144
+ 'Verify network connectivity is stable',
145
+ 'Try the operation again after a short delay',
146
+ 'Check if provider is experiencing high load',
147
+ 'Consider breaking large operations into smaller chunks'
148
+ ]
149
+ };
150
+ }
151
+ /**
152
+ * Handle validation errors
153
+ */
154
+ static handleValidationError(error, provider, field) {
155
+ return {
156
+ code: 'VALIDATION_ERROR',
157
+ message: `Validation error for ${provider}${field ? ` (${field})` : ''}`,
158
+ provider,
159
+ cause: 'Invalid input data or parameters',
160
+ solution: 'Check input parameters and format',
161
+ troubleshooting: [
162
+ 'Verify all required parameters are provided',
163
+ 'Check parameter formats match provider requirements',
164
+ 'Validate string lengths and character restrictions',
165
+ 'Ensure boolean and numeric values are correct type',
166
+ 'Review provider API documentation for parameter rules'
167
+ ]
168
+ };
169
+ }
170
+ /**
171
+ * Handle generic API errors
172
+ */
173
+ static handleGenericError(error, provider) {
174
+ return {
175
+ code: 'API_ERROR',
176
+ message: `API error from ${provider}: ${error.message}`,
177
+ provider,
178
+ cause: 'Unexpected error from provider API',
179
+ solution: 'Check error details and provider status',
180
+ troubleshooting: [
181
+ 'Review the specific error message for clues',
182
+ 'Check provider status page for known issues',
183
+ 'Verify your request format matches API documentation',
184
+ 'Try the operation again after a short delay',
185
+ 'Contact provider support if error persists'
186
+ ]
187
+ };
188
+ }
189
+ /**
190
+ * Analyze error and return appropriate error handler result
191
+ */
192
+ static analyzeAndHandleError(error, provider, operation) {
193
+ const errorMessage = error.message.toLowerCase();
194
+ // Authentication errors
195
+ if (errorMessage.includes('401') ||
196
+ errorMessage.includes('unauthorized') ||
197
+ errorMessage.includes('authentication') ||
198
+ errorMessage.includes('invalid token')) {
199
+ return this.handleAuthenticationError(error, provider);
200
+ }
201
+ // Permission errors
202
+ if (errorMessage.includes('403') ||
203
+ errorMessage.includes('forbidden') ||
204
+ errorMessage.includes('permission denied')) {
205
+ return this.handlePermissionError(error, provider, operation);
206
+ }
207
+ // Not found errors
208
+ if (errorMessage.includes('404') ||
209
+ errorMessage.includes('not found')) {
210
+ return this.handleNotFoundError(error, provider, operation);
211
+ }
212
+ // Rate limiting errors
213
+ if (errorMessage.includes('429') ||
214
+ errorMessage.includes('rate limit') ||
215
+ errorMessage.includes('too many requests')) {
216
+ return this.handleRateLimitError(error, provider);
217
+ }
218
+ // Network errors
219
+ if (errorMessage.includes('enotfound') ||
220
+ errorMessage.includes('econnrefused') ||
221
+ errorMessage.includes('network') ||
222
+ errorMessage.includes('connection')) {
223
+ return this.handleNetworkError(error, provider);
224
+ }
225
+ // Timeout errors
226
+ if (errorMessage.includes('timeout') ||
227
+ errorMessage.includes('etimedout')) {
228
+ return this.handleTimeoutError(error, provider);
229
+ }
230
+ // Validation errors
231
+ if (errorMessage.includes('400') ||
232
+ errorMessage.includes('bad request') ||
233
+ errorMessage.includes('validation') ||
234
+ errorMessage.includes('invalid')) {
235
+ return this.handleValidationError(error, provider);
236
+ }
237
+ // Generic error fallback
238
+ return this.handleGenericError(error, provider);
239
+ }
240
+ /**
241
+ * Format operation error as user-friendly message
242
+ */
243
+ static formatErrorMessage(operationError) {
244
+ const lines = [
245
+ `❌ ${operationError.code}: ${operationError.message}`,
246
+ '',
247
+ `🔍 Cause: ${operationError.cause}`,
248
+ `💡 Solution: ${operationError.solution}`,
249
+ ''
250
+ ];
251
+ if (operationError.troubleshooting && operationError.troubleshooting.length > 0) {
252
+ lines.push('🛠️ Troubleshooting Steps:');
253
+ lines.push(...operationError.troubleshooting.map(step => ` • ${step}`));
254
+ lines.push('');
255
+ }
256
+ if (operationError.configuration) {
257
+ lines.push('⚙️ Configuration Help:');
258
+ lines.push(configuration_error_generator_js_1.ConfigurationErrorGenerator.formatErrorMessage(operationError.configuration));
259
+ }
260
+ return lines.join('\n');
261
+ }
262
+ /**
263
+ * Create a comprehensive error response for API operations
264
+ */
265
+ static createErrorResponse(error, provider, operation) {
266
+ const operationError = this.analyzeAndHandleError(error, provider, operation);
267
+ const formattedMessage = this.formatErrorMessage(operationError);
268
+ return {
269
+ success: false,
270
+ error: operationError.message,
271
+ details: operationError,
272
+ formattedMessage
273
+ };
274
+ }
275
+ }
276
+ exports.OperationErrorHandler = OperationErrorHandler;
277
+ //# sourceMappingURL=operation-error-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-error-handler.js","sourceRoot":"","sources":["../../src/utils/operation-error-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ import { VcsOperations } from '../providers/types.js';
2
+ /**
3
+ * Result interface for single provider operations
4
+ */
5
+ export interface SingleProviderResult<T> {
6
+ success: boolean;
7
+ data?: T;
8
+ error?: string;
9
+ provider: string;
10
+ }
11
+ /**
12
+ * Result interface for multi-provider operations
13
+ */
14
+ export interface MultiProviderResult<T> {
15
+ success: boolean;
16
+ message: string;
17
+ data: {
18
+ github?: SingleProviderResult<T>;
19
+ gitea?: SingleProviderResult<T>;
20
+ };
21
+ warnings?: string[];
22
+ }
23
+ /**
24
+ * Operation result that can be either single or multi-provider
25
+ */
26
+ export type OperationResult<T> = SingleProviderResult<T> | MultiProviderResult<T>;
27
+ /**
28
+ * Provider-specific operation handler
29
+ * Handles execution of operations on specific providers (github, gitea, both)
30
+ */
31
+ export declare class ProviderOperationHandler {
32
+ /**
33
+ * Execute operation on specified provider(s)
34
+ */
35
+ static executeOperation<T>(provider: 'github' | 'gitea' | 'both', operation: (provider: VcsOperations) => Promise<T>): Promise<OperationResult<T>>;
36
+ /**
37
+ * Execute operation on a single provider
38
+ */
39
+ private static executeSingleProvider;
40
+ /**
41
+ * Execute operation on both providers simultaneously
42
+ * Uses the dedicated MultiProviderOperationHandler for enhanced functionality
43
+ */
44
+ private static executeMultiProvider;
45
+ /**
46
+ * Convert MultiProviderOperationResult to MultiProviderResult for backward compatibility
47
+ */
48
+ private static convertMultiProviderResult;
49
+ /**
50
+ * Get available providers for operation
51
+ */
52
+ static getAvailableProviders(): string[];
53
+ /**
54
+ * Check if provider is available
55
+ */
56
+ static isProviderAvailable(provider: 'github' | 'gitea'): boolean;
57
+ /**
58
+ * Get provider configuration status
59
+ */
60
+ static getProviderStatus(): {
61
+ github: {
62
+ configured: boolean;
63
+ error?: string;
64
+ };
65
+ gitea: {
66
+ configured: boolean;
67
+ error?: string;
68
+ };
69
+ };
70
+ /**
71
+ * Validate provider parameter and configuration before operation
72
+ * Enhanced with multi-provider error handling
73
+ */
74
+ static validateProviderForOperation(provider: 'github' | 'gitea' | 'both'): {
75
+ valid: boolean;
76
+ error?: string;
77
+ warnings?: string[];
78
+ };
79
+ }
80
+ //# sourceMappingURL=provider-operation-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-operation-handler.d.ts","sourceRoot":"","sources":["../../src/utils/provider-operation-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAOtD;;GAEG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE;QACJ,MAAM,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACjC,KAAK,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;KACjC,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAElF;;;GAGG;AACH,qBAAa,wBAAwB;IAEnC;;OAEG;WACU,gBAAgB,CAAC,CAAC,EAC7B,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,EACrC,SAAS,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,GACjD,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAa9B;;OAEG;mBACkB,qBAAqB;IA2C1C;;;OAGG;mBACkB,oBAAoB;IA4BzC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,0BAA0B;IAkCzC;;OAEG;IACH,MAAM,CAAC,qBAAqB,IAAI,MAAM,EAAE;IAIxC;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO;IAQjE;;OAEG;IACH,MAAM,CAAC,iBAAiB,IAAI;QAC1B,MAAM,EAAE;YAAE,UAAU,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAChD,KAAK,EAAE;YAAE,UAAU,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAChD;IAkBD;;;OAGG;IACH,MAAM,CAAC,4BAA4B,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG;QAC1E,KAAK,EAAE,OAAO,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB;CAuDF"}
@@ -0,0 +1,201 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProviderOperationHandler = void 0;
4
+ const index_js_1 = require("../providers/index.js");
5
+ const configuration_validator_js_1 = require("./configuration-validator.js");
6
+ const configuration_error_generator_js_1 = require("./configuration-error-generator.js");
7
+ const operation_error_handler_js_1 = require("./operation-error-handler.js");
8
+ const multi_provider_operation_handler_js_1 = require("./multi-provider-operation-handler.js");
9
+ const multi_provider_error_handler_js_1 = require("./multi-provider-error-handler.js");
10
+ /**
11
+ * Provider-specific operation handler
12
+ * Handles execution of operations on specific providers (github, gitea, both)
13
+ */
14
+ class ProviderOperationHandler {
15
+ /**
16
+ * Execute operation on specified provider(s)
17
+ */
18
+ static async executeOperation(provider, operation) {
19
+ switch (provider) {
20
+ case 'github':
21
+ return this.executeSingleProvider('github', operation);
22
+ case 'gitea':
23
+ return this.executeSingleProvider('gitea', operation);
24
+ case 'both':
25
+ return this.executeMultiProvider(operation);
26
+ default:
27
+ throw new Error(`Invalid provider: ${provider}`);
28
+ }
29
+ }
30
+ /**
31
+ * Execute operation on a single provider
32
+ */
33
+ static async executeSingleProvider(providerName, operation) {
34
+ try {
35
+ // Get provider instance
36
+ const providerInstance = index_js_1.globalProviderFactory.getProvider(providerName);
37
+ if (!providerInstance) {
38
+ const configError = providerName === 'github'
39
+ ? configuration_error_generator_js_1.ConfigurationErrorGenerator.generateGitHubError()
40
+ : configuration_error_generator_js_1.ConfigurationErrorGenerator.generateGiteaError();
41
+ return {
42
+ success: false,
43
+ provider: providerName,
44
+ error: `${providerName} provider is not configured. ${configuration_error_generator_js_1.ConfigurationErrorGenerator.formatErrorMessage(configError)}`
45
+ };
46
+ }
47
+ // Execute operation
48
+ const result = await operation(providerInstance);
49
+ return {
50
+ success: true,
51
+ provider: providerName,
52
+ data: result
53
+ };
54
+ }
55
+ catch (error) {
56
+ const errorResponse = operation_error_handler_js_1.OperationErrorHandler.createErrorResponse(error instanceof Error ? error : new Error(String(error)), providerName);
57
+ return {
58
+ success: false,
59
+ provider: providerName,
60
+ error: errorResponse.formattedMessage
61
+ };
62
+ }
63
+ }
64
+ /**
65
+ * Execute operation on both providers simultaneously
66
+ * Uses the dedicated MultiProviderOperationHandler for enhanced functionality
67
+ */
68
+ static async executeMultiProvider(operation) {
69
+ try {
70
+ // Use the dedicated MultiProviderOperationHandler
71
+ const result = await multi_provider_operation_handler_js_1.MultiProviderOperationHandler.executeOnBoth(operation);
72
+ // Convert MultiProviderOperationResult to MultiProviderResult for backward compatibility
73
+ return this.convertMultiProviderResult(result);
74
+ }
75
+ catch (error) {
76
+ // Handle any unexpected errors
77
+ const config = multi_provider_operation_handler_js_1.MultiProviderOperationHandler.getProviderConfiguration();
78
+ const errorResponse = multi_provider_error_handler_js_1.MultiProviderErrorHandler.createMultiProviderErrorResponse(config, undefined, undefined);
79
+ return {
80
+ success: false,
81
+ message: errorResponse.error.message,
82
+ data: {
83
+ github: { success: false, provider: 'github', error: 'Operation failed' },
84
+ gitea: { success: false, provider: 'gitea', error: 'Operation failed' }
85
+ },
86
+ warnings: errorResponse.error.warnings
87
+ };
88
+ }
89
+ }
90
+ /**
91
+ * Convert MultiProviderOperationResult to MultiProviderResult for backward compatibility
92
+ */
93
+ static convertMultiProviderResult(result) {
94
+ const convertedData = {};
95
+ if (result.data.github) {
96
+ convertedData.github = {
97
+ success: result.data.github.success,
98
+ provider: result.data.github.provider,
99
+ data: result.data.github.data,
100
+ error: result.data.github.error
101
+ };
102
+ }
103
+ if (result.data.gitea) {
104
+ convertedData.gitea = {
105
+ success: result.data.gitea.success,
106
+ provider: result.data.gitea.provider,
107
+ data: result.data.gitea.data,
108
+ error: result.data.gitea.error
109
+ };
110
+ }
111
+ return {
112
+ success: result.success,
113
+ message: result.message,
114
+ data: convertedData,
115
+ warnings: result.warnings
116
+ };
117
+ }
118
+ /**
119
+ * Get available providers for operation
120
+ */
121
+ static getAvailableProviders() {
122
+ return configuration_validator_js_1.ConfigurationValidator.getConfiguredProviders();
123
+ }
124
+ /**
125
+ * Check if provider is available
126
+ */
127
+ static isProviderAvailable(provider) {
128
+ const validation = provider === 'github'
129
+ ? configuration_validator_js_1.ConfigurationValidator.validateGitHubConfiguration()
130
+ : configuration_validator_js_1.ConfigurationValidator.validateGiteaConfiguration();
131
+ return validation.valid;
132
+ }
133
+ /**
134
+ * Get provider configuration status
135
+ */
136
+ static getProviderStatus() {
137
+ const githubValidation = configuration_validator_js_1.ConfigurationValidator.validateGitHubConfiguration();
138
+ const giteaValidation = configuration_validator_js_1.ConfigurationValidator.validateGiteaConfiguration();
139
+ return {
140
+ github: {
141
+ configured: githubValidation.valid,
142
+ error: githubValidation.error?.message
143
+ },
144
+ gitea: {
145
+ configured: giteaValidation.valid,
146
+ error: giteaValidation.error?.message
147
+ }
148
+ };
149
+ }
150
+ /**
151
+ * Validate provider parameter and configuration before operation
152
+ * Enhanced with multi-provider error handling
153
+ */
154
+ static validateProviderForOperation(provider) {
155
+ // Validate provider parameter
156
+ const providerValidation = configuration_validator_js_1.ConfigurationValidator.validateProvider(provider);
157
+ if (!providerValidation.valid) {
158
+ return {
159
+ valid: false,
160
+ error: providerValidation.error?.message
161
+ };
162
+ }
163
+ // Handle multi-provider validation
164
+ if (provider === 'both') {
165
+ const config = multi_provider_operation_handler_js_1.MultiProviderOperationHandler.getProviderConfiguration();
166
+ // Check if no providers are configured
167
+ if (!config.hasAnyProvider) {
168
+ const errorResponse = multi_provider_error_handler_js_1.MultiProviderErrorHandler.handleNoProvidersConfigured();
169
+ return {
170
+ valid: false,
171
+ error: multi_provider_error_handler_js_1.MultiProviderErrorHandler.formatMultiProviderError(errorResponse)
172
+ };
173
+ }
174
+ // Generate warnings for missing providers
175
+ const warnings = multi_provider_error_handler_js_1.MultiProviderErrorHandler.generateMissingProviderWarnings(config);
176
+ // Handle single provider scenario
177
+ if (config.totalConfigured === 1) {
178
+ const configuredProvider = config.github.configured ? 'github' : 'gitea';
179
+ const singleProviderWarnings = multi_provider_error_handler_js_1.MultiProviderErrorHandler.handleSingleProviderScenario(configuredProvider, config);
180
+ warnings.push(...singleProviderWarnings.warnings);
181
+ }
182
+ return {
183
+ valid: true,
184
+ warnings: warnings.length > 0 ? warnings : undefined
185
+ };
186
+ }
187
+ // Validate single provider configuration
188
+ const configValidation = configuration_validator_js_1.ConfigurationValidator.validateProviderConfiguration(provider);
189
+ if (!configValidation.valid) {
190
+ return {
191
+ valid: false,
192
+ error: configValidation.error?.message
193
+ };
194
+ }
195
+ return {
196
+ valid: true
197
+ };
198
+ }
199
+ }
200
+ exports.ProviderOperationHandler = ProviderOperationHandler;
201
+ //# sourceMappingURL=provider-operation-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-operation-handler.js","sourceRoot":"","sources":["../../src/utils/provider-operation-handler.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ function createSimpleResponse(params) {
16
16
  autoDetected: {
17
17
  repo: 'auto-detected',
18
18
  owner: 'auto-detected',
19
- providers: ['demo']
19
+ providers: []
20
20
  },
21
21
  metadata: {
22
22
  projectPath: params.projectPath || 'unknown',
@@ -1 +1 @@
1
- {"version":3,"file":"response-helper.js","sourceRoot":"","sources":["../../src/utils/response-helper.ts"],"names":[],"mappings":";AAAA;;GAEG;;AA0BH,oDAgCC;AAED,kDAsBC;AAED,sDAeC;AAzED,SAAgB,oBAAoB,CAAC,MAapC;IACC,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,YAAY,EAAE;YACZ,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,eAAe;YACtB,SAAS,EAAE,CAAC,MAAM,CAAC;SACpB;QACD,QAAQ,EAAE;YACR,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,SAAS;YAC5C,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS,EAAE,MAAM,CAAC,MAAM;YACxB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,mBAAmB,CAAC,MAQnC;IACC,OAAO,oBAAoB,CAAC;QAC1B,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE;YACL,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B;QACD,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,qBAAqB,CAAC,MAMrC;IACC,OAAO,oBAAoB,CAAC;QAC1B,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"response-helper.js","sourceRoot":"","sources":["../../src/utils/response-helper.ts"],"names":[],"mappings":";AAAA;;GAEG;;AA0BH,oDAgCC;AAED,kDAsBC;AAED,sDAeC;AAzED,SAAgB,oBAAoB,CAAC,MAapC;IACC,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,YAAY,EAAE;YACZ,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,eAAe;YACtB,SAAS,EAAE,EAAE;SACd;QACD,QAAQ,EAAE;YACR,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,SAAS;YAC5C,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS,EAAE,MAAM,CAAC,MAAM;YACxB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,mBAAmB,CAAC,MAQnC;IACC,OAAO,oBAAoB,CAAC;QAC1B,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE;YACL,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B;QACD,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,qBAAqB,CAAC,MAMrC;IACC,OAAO,oBAAoB,CAAC;QAC1B,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC,CAAC;AACL,CAAC"}