mcp-image 0.1.0 → 0.2.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 (178) hide show
  1. package/README.md +41 -17
  2. package/dist/api/geminiClient.d.ts +2 -12
  3. package/dist/api/geminiClient.d.ts.map +1 -1
  4. package/dist/api/geminiClient.js +28 -56
  5. package/dist/api/geminiClient.js.map +1 -1
  6. package/dist/api/geminiTextClient.d.ts +42 -0
  7. package/dist/api/geminiTextClient.d.ts.map +1 -0
  8. package/dist/api/geminiTextClient.js +198 -0
  9. package/dist/api/geminiTextClient.js.map +1 -0
  10. package/dist/business/__tests__/mocks/mcpSamplingClient.mock.d.ts +84 -0
  11. package/dist/business/__tests__/mocks/mcpSamplingClient.mock.d.ts.map +1 -0
  12. package/dist/business/__tests__/mocks/mcpSamplingClient.mock.js +100 -0
  13. package/dist/business/__tests__/mocks/mcpSamplingClient.mock.js.map +1 -0
  14. package/dist/business/bestPracticesEngine.d.ts +149 -0
  15. package/dist/business/bestPracticesEngine.d.ts.map +1 -0
  16. package/dist/business/bestPracticesEngine.js +781 -0
  17. package/dist/business/bestPracticesEngine.js.map +1 -0
  18. package/dist/business/complexityAssessment.d.ts +132 -0
  19. package/dist/business/complexityAssessment.d.ts.map +1 -0
  20. package/dist/business/complexityAssessment.js +488 -0
  21. package/dist/business/complexityAssessment.js.map +1 -0
  22. package/dist/business/fallbackStrategies.d.ts +177 -0
  23. package/dist/business/fallbackStrategies.d.ts.map +1 -0
  24. package/dist/business/fallbackStrategies.js +368 -0
  25. package/dist/business/fallbackStrategies.js.map +1 -0
  26. package/dist/business/imageGenerator.d.ts.map +1 -1
  27. package/dist/business/imageGenerator.js +26 -5
  28. package/dist/business/imageGenerator.js.map +1 -1
  29. package/dist/business/multiImage/aspectRatioController.d.ts +77 -0
  30. package/dist/business/multiImage/aspectRatioController.d.ts.map +1 -0
  31. package/dist/business/multiImage/aspectRatioController.js +580 -0
  32. package/dist/business/multiImage/aspectRatioController.js.map +1 -0
  33. package/dist/business/multiImage/multiImageCoordinator.d.ts +142 -0
  34. package/dist/business/multiImage/multiImageCoordinator.d.ts.map +1 -0
  35. package/dist/business/multiImage/multiImageCoordinator.js +801 -0
  36. package/dist/business/multiImage/multiImageCoordinator.js.map +1 -0
  37. package/dist/business/pomlTemplateEngine.d.ts +206 -0
  38. package/dist/business/pomlTemplateEngine.d.ts.map +1 -0
  39. package/dist/business/pomlTemplateEngine.js +737 -0
  40. package/dist/business/pomlTemplateEngine.js.map +1 -0
  41. package/dist/business/promptOrchestrator.d.ts +173 -0
  42. package/dist/business/promptOrchestrator.d.ts.map +1 -0
  43. package/dist/business/promptOrchestrator.js +490 -0
  44. package/dist/business/promptOrchestrator.js.map +1 -0
  45. package/dist/business/responseBuilder.d.ts +2 -2
  46. package/dist/business/responseBuilder.d.ts.map +1 -1
  47. package/dist/business/responseBuilder.js +6 -1
  48. package/dist/business/responseBuilder.js.map +1 -1
  49. package/dist/business/structuredPromptGenerator.d.ts +54 -0
  50. package/dist/business/structuredPromptGenerator.d.ts.map +1 -0
  51. package/dist/business/structuredPromptGenerator.js +208 -0
  52. package/dist/business/structuredPromptGenerator.js.map +1 -0
  53. package/dist/business/templateNormalizer.d.ts +81 -0
  54. package/dist/business/templateNormalizer.d.ts.map +1 -0
  55. package/dist/business/templateNormalizer.js +659 -0
  56. package/dist/business/templateNormalizer.js.map +1 -0
  57. package/dist/documentation/apiContractValidation.d.ts +62 -0
  58. package/dist/documentation/apiContractValidation.d.ts.map +1 -0
  59. package/dist/documentation/apiContractValidation.js +305 -0
  60. package/dist/documentation/apiContractValidation.js.map +1 -0
  61. package/dist/infrastructure/concurrency/concurrencyManager.d.ts +101 -0
  62. package/dist/infrastructure/concurrency/concurrencyManager.d.ts.map +1 -0
  63. package/dist/infrastructure/concurrency/concurrencyManager.js +345 -0
  64. package/dist/infrastructure/concurrency/concurrencyManager.js.map +1 -0
  65. package/dist/infrastructure/config/secureConfigManager.d.ts +319 -0
  66. package/dist/infrastructure/config/secureConfigManager.d.ts.map +1 -0
  67. package/dist/infrastructure/config/secureConfigManager.js +600 -0
  68. package/dist/infrastructure/config/secureConfigManager.js.map +1 -0
  69. package/dist/infrastructure/errorHandling/orchestrationErrorHandler.d.ts +229 -0
  70. package/dist/infrastructure/errorHandling/orchestrationErrorHandler.d.ts.map +1 -0
  71. package/dist/infrastructure/errorHandling/orchestrationErrorHandler.js +61 -0
  72. package/dist/infrastructure/errorHandling/orchestrationErrorHandler.js.map +1 -0
  73. package/dist/infrastructure/errorHandling/orchestrationErrorHandlerImpl.d.ts +133 -0
  74. package/dist/infrastructure/errorHandling/orchestrationErrorHandlerImpl.d.ts.map +1 -0
  75. package/dist/infrastructure/errorHandling/orchestrationErrorHandlerImpl.js +569 -0
  76. package/dist/infrastructure/errorHandling/orchestrationErrorHandlerImpl.js.map +1 -0
  77. package/dist/infrastructure/mcp/MCPSamplingClient.d.ts +19 -0
  78. package/dist/infrastructure/mcp/MCPSamplingClient.d.ts.map +1 -0
  79. package/dist/infrastructure/mcp/MCPSamplingClient.js +31 -0
  80. package/dist/infrastructure/mcp/MCPSamplingClient.js.map +1 -0
  81. package/dist/infrastructure/mcp/RealMCPSamplingClient.d.ts +59 -0
  82. package/dist/infrastructure/mcp/RealMCPSamplingClient.d.ts.map +1 -0
  83. package/dist/infrastructure/mcp/RealMCPSamplingClient.js +271 -0
  84. package/dist/infrastructure/mcp/RealMCPSamplingClient.js.map +1 -0
  85. package/dist/infrastructure/metadata/generationMetadata.d.ts +72 -0
  86. package/dist/infrastructure/metadata/generationMetadata.d.ts.map +1 -0
  87. package/dist/infrastructure/metadata/generationMetadata.js +228 -0
  88. package/dist/infrastructure/metadata/generationMetadata.js.map +1 -0
  89. package/dist/infrastructure/monitoring/OrchestrationMetrics.d.ts +106 -0
  90. package/dist/infrastructure/monitoring/OrchestrationMetrics.d.ts.map +1 -0
  91. package/dist/infrastructure/monitoring/OrchestrationMetrics.js +456 -0
  92. package/dist/infrastructure/monitoring/OrchestrationMetrics.js.map +1 -0
  93. package/dist/infrastructure/monitoring/alertingSystem.d.ts +135 -0
  94. package/dist/infrastructure/monitoring/alertingSystem.d.ts.map +1 -0
  95. package/dist/infrastructure/monitoring/alertingSystem.js +549 -0
  96. package/dist/infrastructure/monitoring/alertingSystem.js.map +1 -0
  97. package/dist/infrastructure/optimization/performanceOptimizer.d.ts +89 -0
  98. package/dist/infrastructure/optimization/performanceOptimizer.d.ts.map +1 -0
  99. package/dist/infrastructure/optimization/performanceOptimizer.js +375 -0
  100. package/dist/infrastructure/optimization/performanceOptimizer.js.map +1 -0
  101. package/dist/infrastructure/security/AdvancedContentFilter.d.ts +99 -0
  102. package/dist/infrastructure/security/AdvancedContentFilter.d.ts.map +1 -0
  103. package/dist/infrastructure/security/AdvancedContentFilter.js +363 -0
  104. package/dist/infrastructure/security/AdvancedContentFilter.js.map +1 -0
  105. package/dist/infrastructure/security/MCPSecurityValidator.d.ts +62 -0
  106. package/dist/infrastructure/security/MCPSecurityValidator.d.ts.map +1 -0
  107. package/dist/infrastructure/security/MCPSecurityValidator.js +129 -0
  108. package/dist/infrastructure/security/MCPSecurityValidator.js.map +1 -0
  109. package/dist/infrastructure/security/OrchestrationSecurityMiddleware.d.ts +304 -0
  110. package/dist/infrastructure/security/OrchestrationSecurityMiddleware.d.ts.map +1 -0
  111. package/dist/infrastructure/security/OrchestrationSecurityMiddleware.js +61 -0
  112. package/dist/infrastructure/security/OrchestrationSecurityMiddleware.js.map +1 -0
  113. package/dist/infrastructure/security/OrchestrationSecurityMiddlewareImpl.d.ts +62 -0
  114. package/dist/infrastructure/security/OrchestrationSecurityMiddlewareImpl.d.ts.map +1 -0
  115. package/dist/infrastructure/security/OrchestrationSecurityMiddlewareImpl.js +591 -0
  116. package/dist/infrastructure/security/OrchestrationSecurityMiddlewareImpl.js.map +1 -0
  117. package/dist/infrastructure/security/SecureMCPClient.d.ts +154 -0
  118. package/dist/infrastructure/security/SecureMCPClient.d.ts.map +1 -0
  119. package/dist/infrastructure/security/SecureMCPClient.js +292 -0
  120. package/dist/infrastructure/security/SecureMCPClient.js.map +1 -0
  121. package/dist/infrastructure/security/SecurityIncidentManager.d.ts +142 -0
  122. package/dist/infrastructure/security/SecurityIncidentManager.d.ts.map +1 -0
  123. package/dist/infrastructure/security/SecurityIncidentManager.js +260 -0
  124. package/dist/infrastructure/security/SecurityIncidentManager.js.map +1 -0
  125. package/dist/infrastructure/security/apiKeyManager.d.ts +297 -0
  126. package/dist/infrastructure/security/apiKeyManager.d.ts.map +1 -0
  127. package/dist/infrastructure/security/apiKeyManager.js +254 -0
  128. package/dist/infrastructure/security/apiKeyManager.js.map +1 -0
  129. package/dist/infrastructure/security/dataSanitizer.d.ts +157 -0
  130. package/dist/infrastructure/security/dataSanitizer.d.ts.map +1 -0
  131. package/dist/infrastructure/security/dataSanitizer.js +525 -0
  132. package/dist/infrastructure/security/dataSanitizer.js.map +1 -0
  133. package/dist/infrastructure/validation/inputValidator.d.ts +54 -0
  134. package/dist/infrastructure/validation/inputValidator.d.ts.map +1 -0
  135. package/dist/infrastructure/validation/inputValidator.js +362 -0
  136. package/dist/infrastructure/validation/inputValidator.js.map +1 -0
  137. package/dist/integration/parameterOptimizer.d.ts +69 -0
  138. package/dist/integration/parameterOptimizer.d.ts.map +1 -0
  139. package/dist/integration/parameterOptimizer.js +317 -0
  140. package/dist/integration/parameterOptimizer.js.map +1 -0
  141. package/dist/integration/twoStageProcessor.d.ts +66 -0
  142. package/dist/integration/twoStageProcessor.d.ts.map +1 -0
  143. package/dist/integration/twoStageProcessor.js +348 -0
  144. package/dist/integration/twoStageProcessor.js.map +1 -0
  145. package/dist/server/handlers/structuredPromptHandler.d.ts +65 -0
  146. package/dist/server/handlers/structuredPromptHandler.d.ts.map +1 -0
  147. package/dist/server/handlers/structuredPromptHandler.js +314 -0
  148. package/dist/server/handlers/structuredPromptHandler.js.map +1 -0
  149. package/dist/server/mcpServer.d.ts +16 -35
  150. package/dist/server/mcpServer.d.ts.map +1 -1
  151. package/dist/server/mcpServer.js +111 -150
  152. package/dist/server/mcpServer.js.map +1 -1
  153. package/dist/server/mcpServerWithOrchestration.d.ts +98 -0
  154. package/dist/server/mcpServerWithOrchestration.d.ts.map +1 -0
  155. package/dist/server/mcpServerWithOrchestration.js +284 -0
  156. package/dist/server/mcpServerWithOrchestration.js.map +1 -0
  157. package/dist/types/mcpOrchestrationTypes.d.ts +135 -0
  158. package/dist/types/mcpOrchestrationTypes.d.ts.map +1 -0
  159. package/dist/types/mcpOrchestrationTypes.js +28 -0
  160. package/dist/types/mcpOrchestrationTypes.js.map +1 -0
  161. package/dist/types/multiImageTypes.d.ts +328 -0
  162. package/dist/types/multiImageTypes.d.ts.map +1 -0
  163. package/dist/types/multiImageTypes.js +27 -0
  164. package/dist/types/multiImageTypes.js.map +1 -0
  165. package/dist/types/performanceTypes.d.ts +300 -0
  166. package/dist/types/performanceTypes.d.ts.map +1 -0
  167. package/dist/types/performanceTypes.js +50 -0
  168. package/dist/types/performanceTypes.js.map +1 -0
  169. package/dist/types/twoStageTypes.d.ts +123 -0
  170. package/dist/types/twoStageTypes.d.ts.map +1 -0
  171. package/dist/types/twoStageTypes.js +7 -0
  172. package/dist/types/twoStageTypes.js.map +1 -0
  173. package/dist/utils/config.d.ts +1 -0
  174. package/dist/utils/config.d.ts.map +1 -1
  175. package/dist/utils/config.js +1 -0
  176. package/dist/utils/config.js.map +1 -1
  177. package/package.json +11 -4
  178. package/vitest.config.mjs +0 -47
@@ -0,0 +1,569 @@
1
+ "use strict";
2
+ /**
3
+ * Orchestration Error Handler Implementation - Comprehensive error management
4
+ * Provides intelligent recovery, fallback strategies, and robust error handling
5
+ * Implements all error scenarios for structured prompt generation orchestration
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.OrchestrationErrorHandlerImpl = void 0;
9
+ const result_1 = require("../../types/result");
10
+ const orchestrationErrorHandler_1 = require("./orchestrationErrorHandler");
11
+ /**
12
+ * Default recovery options
13
+ */
14
+ const DEFAULT_RECOVERY_OPTIONS = {
15
+ maxRetries: 3,
16
+ retryDelay: 1000,
17
+ enableFallback: true,
18
+ fallbackStrategy: 'graceful_degradation',
19
+ gracefulDegradation: true,
20
+ };
21
+ /**
22
+ * Default network recovery configuration
23
+ */
24
+ const DEFAULT_NETWORK_CONFIG = {
25
+ maxRetries: 3,
26
+ baseDelay: 1000,
27
+ maxDelay: 30000,
28
+ timeoutMultiplier: 2,
29
+ enableExponentialBackoff: true,
30
+ };
31
+ /**
32
+ * OrchestrationErrorHandler implementation with comprehensive error management
33
+ */
34
+ class OrchestrationErrorHandlerImpl {
35
+ constructor(networkConfig = DEFAULT_NETWORK_CONFIG) {
36
+ this.errorCounts = new Map();
37
+ this.errorTimestamps = new Map();
38
+ this.networkConfig = { ...networkConfig };
39
+ }
40
+ /**
41
+ * Handle errors with comprehensive recovery strategies
42
+ */
43
+ async handleError(error, context, recoveryOptions = DEFAULT_RECOVERY_OPTIONS) {
44
+ const diagnosticInfo = this.createDiagnosticInfo(error, context);
45
+ const errorSeverity = this.classifyError(error);
46
+ const userMessage = this.generateUserMessage(error, context);
47
+ // Track error occurrence
48
+ this.trackErrorOccurrence(error, context);
49
+ // Determine recovery strategy based on error type and context
50
+ const recoveryAction = this.determineRecoveryAction(error, context, recoveryOptions, errorSeverity);
51
+ let fallbackApplied = false;
52
+ let result;
53
+ try {
54
+ switch (recoveryAction) {
55
+ case orchestrationErrorHandler_1.RecoveryAction.RETRY:
56
+ result = await this.attemptRetry(error, context, recoveryOptions);
57
+ break;
58
+ case orchestrationErrorHandler_1.RecoveryAction.FALLBACK:
59
+ result = await this.applyFallback(error, context);
60
+ fallbackApplied = true;
61
+ break;
62
+ case orchestrationErrorHandler_1.RecoveryAction.GRACEFUL_DEGRADATION:
63
+ result = await this.applyGracefulDegradation(error, context);
64
+ fallbackApplied = true;
65
+ break;
66
+ default:
67
+ // Return failure with comprehensive information
68
+ break;
69
+ }
70
+ const success = result !== undefined;
71
+ const response = {
72
+ success,
73
+ fallbackApplied,
74
+ userMessage,
75
+ diagnosticInfo,
76
+ recoveryAction,
77
+ };
78
+ if (success) {
79
+ response.data = result;
80
+ }
81
+ return response;
82
+ }
83
+ catch (recoveryError) {
84
+ // Recovery attempt failed
85
+ return {
86
+ success: false,
87
+ fallbackApplied: false,
88
+ userMessage: this.generateFallbackUserMessage(error, recoveryError, context),
89
+ diagnosticInfo: {
90
+ ...diagnosticInfo,
91
+ contextData: {
92
+ ...diagnosticInfo.contextData,
93
+ recoveryError: recoveryError instanceof Error ? recoveryError.message : 'Unknown recovery error',
94
+ originalError: error.message,
95
+ },
96
+ },
97
+ recoveryAction: orchestrationErrorHandler_1.RecoveryAction.FAIL_SAFE,
98
+ };
99
+ }
100
+ }
101
+ /**
102
+ * Validate input with detailed error reporting
103
+ */
104
+ async validateInput(input, schema) {
105
+ const errors = [];
106
+ const warnings = [];
107
+ // Type validation
108
+ if (schema.type === 'string' && typeof input !== 'string') {
109
+ errors.push({
110
+ field: 'root',
111
+ message: `Expected type string, got ${typeof input}`,
112
+ severity: orchestrationErrorHandler_1.ErrorSeverity.FATAL,
113
+ suggestion: `Please provide input of type ${schema.type}`,
114
+ code: 'TYPE_MISMATCH',
115
+ });
116
+ }
117
+ // String-specific validations
118
+ if (schema.type === 'string' && typeof input === 'string') {
119
+ if (schema.minLength !== undefined && input.length < schema.minLength) {
120
+ errors.push({
121
+ field: 'root',
122
+ message: `Input too short. Minimum length: ${schema.minLength}, got: ${input.length}`,
123
+ severity: orchestrationErrorHandler_1.ErrorSeverity.RECOVERABLE,
124
+ suggestion: 'Provide a more detailed input',
125
+ code: 'MIN_LENGTH_VIOLATION',
126
+ });
127
+ }
128
+ if (schema.maxLength !== undefined && input.length > schema.maxLength) {
129
+ warnings.push({
130
+ field: 'root',
131
+ message: `Input exceeds recommended length: ${schema.maxLength}, got: ${input.length}`,
132
+ suggestion: 'Consider shortening the input for better processing',
133
+ code: 'MAX_LENGTH_WARNING',
134
+ });
135
+ }
136
+ if (schema.pattern && !schema.pattern.test(input)) {
137
+ errors.push({
138
+ field: 'root',
139
+ message: 'Input does not match required pattern',
140
+ severity: orchestrationErrorHandler_1.ErrorSeverity.RECOVERABLE,
141
+ suggestion: 'Ensure input follows the expected format',
142
+ code: 'PATTERN_MISMATCH',
143
+ });
144
+ }
145
+ }
146
+ const isValid = errors.length === 0;
147
+ return {
148
+ valid: isValid,
149
+ errors,
150
+ warnings,
151
+ normalizedInput: isValid ? input : undefined,
152
+ };
153
+ }
154
+ /**
155
+ * Manage resource contention for concurrent operations
156
+ */
157
+ async manageResourceContention(operation) {
158
+ try {
159
+ // This is a simplified implementation
160
+ // In a real system, this would integrate with the ConcurrencyManager
161
+ // Check if operation can proceed based on priority and current load
162
+ const canProceed = await this.checkOperationViability(operation);
163
+ if (!canProceed) {
164
+ return (0, result_1.Err)(new Error(`Resource contention detected for operation ${operation.id}. System at capacity.`));
165
+ }
166
+ return (0, result_1.Ok)({ message: 'Operation can proceed', operationId: operation.id });
167
+ }
168
+ catch (error) {
169
+ return (0, result_1.Err)(new Error(`Failed to manage resource contention: ${error}`));
170
+ }
171
+ }
172
+ /**
173
+ * Handle network-specific errors with intelligent retry
174
+ */
175
+ async handleNetworkErrors(networkError, context) {
176
+ const errorType = this.classifyNetworkError(networkError);
177
+ switch (errorType) {
178
+ case orchestrationErrorHandler_1.NetworkErrorType.TIMEOUT:
179
+ return this.handleTimeout(networkError, context);
180
+ case orchestrationErrorHandler_1.NetworkErrorType.RATE_LIMIT:
181
+ return this.handleRateLimit(networkError, context);
182
+ case orchestrationErrorHandler_1.NetworkErrorType.CONNECTION_FAILED:
183
+ return this.handleConnectionFailure(networkError, context);
184
+ case orchestrationErrorHandler_1.NetworkErrorType.SERVICE_UNAVAILABLE:
185
+ return this.handleServiceUnavailable(networkError, context);
186
+ case orchestrationErrorHandler_1.NetworkErrorType.AUTHENTICATION_FAILED:
187
+ return this.handleAuthenticationFailure(networkError, context);
188
+ default:
189
+ return this.handleUnknownNetworkError(networkError, context);
190
+ }
191
+ }
192
+ /**
193
+ * Classify errors for appropriate handling strategy
194
+ */
195
+ classifyError(error) {
196
+ const errorMessage = error.message.toLowerCase();
197
+ // Fatal errors - cannot recover
198
+ if (errorMessage.includes('authentication') ||
199
+ errorMessage.includes('permission denied') ||
200
+ errorMessage.includes('invalid api key')) {
201
+ return orchestrationErrorHandler_1.ErrorSeverity.FATAL;
202
+ }
203
+ // Degraded service - partial functionality available
204
+ if (errorMessage.includes('rate limit') ||
205
+ errorMessage.includes('quota exceeded') ||
206
+ errorMessage.includes('service unavailable') ||
207
+ errorMessage.includes('timeout')) {
208
+ return orchestrationErrorHandler_1.ErrorSeverity.DEGRADED;
209
+ }
210
+ // API and processing errors that can be recovered with fallback
211
+ if (errorMessage.includes('invalid api response') ||
212
+ errorMessage.includes('malformed') ||
213
+ errorMessage.includes('json') ||
214
+ errorMessage.includes('missing') ||
215
+ errorMessage.includes('empty prompt') ||
216
+ errorMessage.includes('unsafe content')) {
217
+ return orchestrationErrorHandler_1.ErrorSeverity.RECOVERABLE;
218
+ }
219
+ // Default to recoverable for unknown errors
220
+ return orchestrationErrorHandler_1.ErrorSeverity.RECOVERABLE;
221
+ }
222
+ /**
223
+ * Generate user-friendly error messages
224
+ */
225
+ generateUserMessage(error, context) {
226
+ const errorSeverity = this.classifyError(error);
227
+ const operation = context.operation.replace(/_/g, ' ');
228
+ const errorMessage = error.message.toLowerCase();
229
+ // Special handling for specific error scenarios - these take priority
230
+ if (errorMessage.includes('invalid api response') || errorMessage.includes('malformed')) {
231
+ return 'API response issue detected. processing continued using alternative methods.';
232
+ }
233
+ if (errorMessage.includes('json') || error instanceof SyntaxError) {
234
+ return 'Structured prompt generation experiencing temporary issue. System will continue processing.';
235
+ }
236
+ if (errorMessage.includes('missing') && errorMessage.includes('field')) {
237
+ return 'Data structure issue resolved using alternative processing methods.';
238
+ }
239
+ if (errorMessage.includes('empty prompt')) {
240
+ return 'Empty prompt detected - using creative fallback approach for image generation.';
241
+ }
242
+ switch (errorSeverity) {
243
+ case orchestrationErrorHandler_1.ErrorSeverity.FATAL:
244
+ return `Unable to complete ${operation}. Please check your configuration and try again.`;
245
+ case orchestrationErrorHandler_1.ErrorSeverity.DEGRADED:
246
+ return `${operation} is experiencing temporary issues. Processing continued with alternative methods.`;
247
+ case orchestrationErrorHandler_1.ErrorSeverity.RECOVERABLE:
248
+ if (context.retryCount > 0) {
249
+ return `Retrying ${operation} (attempt ${context.retryCount + 1}). Please wait a moment.`;
250
+ }
251
+ return `Temporary issue with ${operation}. The system will attempt to recover automatically.`;
252
+ default:
253
+ return `An unexpected issue occurred during ${operation}. Please try again.`;
254
+ }
255
+ }
256
+ /**
257
+ * Create diagnostic information for debugging
258
+ */
259
+ createDiagnosticInfo(error, context) {
260
+ const contextData = {
261
+ operation: context.operation,
262
+ stage: context.stage,
263
+ sessionId: context.sessionId,
264
+ retryCount: context.retryCount,
265
+ userFacing: context.userFacing,
266
+ errorName: error.name,
267
+ errorMessage: error.message,
268
+ metadata: context.metadata || {},
269
+ };
270
+ // Add specific data for missing fields errors
271
+ if (error.message.toLowerCase().includes('missing') &&
272
+ error.message.toLowerCase().includes('field')) {
273
+ contextData['missingFields'] = ['structuredPrompt'];
274
+ }
275
+ return {
276
+ errorCode: this.generateErrorCode(error, context),
277
+ timestamp: new Date(),
278
+ stackTrace: error.stack || '',
279
+ contextData,
280
+ requestId: this.generateRequestId(context),
281
+ };
282
+ }
283
+ // Private helper methods
284
+ /**
285
+ * Track error occurrence for pattern detection
286
+ */
287
+ trackErrorOccurrence(error, context) {
288
+ const errorKey = `${context.operation}_${error.name}`;
289
+ // Update count
290
+ const currentCount = this.errorCounts.get(errorKey) || 0;
291
+ this.errorCounts.set(errorKey, currentCount + 1);
292
+ // Update timestamps
293
+ const timestamps = this.errorTimestamps.get(errorKey) || [];
294
+ timestamps.push(new Date());
295
+ // Keep only recent timestamps (last 10 minutes)
296
+ const tenMinutesAgo = new Date(Date.now() - 10 * 60 * 1000);
297
+ const recentTimestamps = timestamps.filter((ts) => ts > tenMinutesAgo);
298
+ this.errorTimestamps.set(errorKey, recentTimestamps);
299
+ }
300
+ /**
301
+ * Determine appropriate recovery action
302
+ */
303
+ determineRecoveryAction(error, context, options, severity) {
304
+ if (severity === orchestrationErrorHandler_1.ErrorSeverity.FATAL) {
305
+ return orchestrationErrorHandler_1.RecoveryAction.FAIL_SAFE;
306
+ }
307
+ // For API response errors, always attempt fallback first
308
+ const errorMessage = error.message.toLowerCase();
309
+ if (errorMessage.includes('invalid api response') ||
310
+ errorMessage.includes('malformed') ||
311
+ errorMessage.includes('json') ||
312
+ errorMessage.includes('missing') ||
313
+ errorMessage.includes('empty prompt')) {
314
+ return orchestrationErrorHandler_1.RecoveryAction.FALLBACK;
315
+ }
316
+ if (context.retryCount < options.maxRetries && severity === orchestrationErrorHandler_1.ErrorSeverity.RECOVERABLE) {
317
+ return orchestrationErrorHandler_1.RecoveryAction.RETRY;
318
+ }
319
+ if (options.enableFallback) {
320
+ return severity === orchestrationErrorHandler_1.ErrorSeverity.DEGRADED
321
+ ? orchestrationErrorHandler_1.RecoveryAction.GRACEFUL_DEGRADATION
322
+ : orchestrationErrorHandler_1.RecoveryAction.FALLBACK;
323
+ }
324
+ return orchestrationErrorHandler_1.RecoveryAction.FAIL_SAFE;
325
+ }
326
+ /**
327
+ * Attempt retry with exponential backoff
328
+ */
329
+ async attemptRetry(_error, context, options) {
330
+ const delay = this.calculateRetryDelay(context.retryCount, options.retryDelay);
331
+ await this.delay(delay);
332
+ // In a real implementation, this would re-execute the original operation
333
+ // For now, return undefined to indicate retry attempt was made
334
+ return undefined;
335
+ }
336
+ /**
337
+ * Apply fallback processing
338
+ */
339
+ async applyFallback(_error, context) {
340
+ // Implement context-specific fallback logic
341
+ switch (context.stage) {
342
+ case orchestrationErrorHandler_1.ProcessingStage.POML_STRUCTURING:
343
+ // Fallback to basic prompt structuring
344
+ return { fallbackType: 'basic_structuring', originalPrompt: true };
345
+ case orchestrationErrorHandler_1.ProcessingStage.BEST_PRACTICES:
346
+ // Fallback to original prompt without enhancement
347
+ return { fallbackType: 'original_prompt', enhanced: false };
348
+ case orchestrationErrorHandler_1.ProcessingStage.INPUT_VALIDATION:
349
+ // Provide creative fallback for empty prompts
350
+ return {
351
+ fallbackType: 'creative_fallback',
352
+ prompt: 'Generate a creative image',
353
+ };
354
+ default:
355
+ // Generic fallback
356
+ return { fallbackType: 'generic_fallback', processed: true };
357
+ }
358
+ }
359
+ /**
360
+ * Apply graceful degradation
361
+ */
362
+ async applyGracefulDegradation(_error, context) {
363
+ // Provide partial functionality based on context
364
+ switch (context.stage) {
365
+ case orchestrationErrorHandler_1.ProcessingStage.BEST_PRACTICES:
366
+ // Apply simplified best practices
367
+ return { degradedType: 'simplified_enhancement', partial: true };
368
+ default:
369
+ // Generic graceful degradation
370
+ return { degradedType: 'basic_processing', functional: true };
371
+ }
372
+ }
373
+ /**
374
+ * Generate fallback user message when recovery fails
375
+ */
376
+ generateFallbackUserMessage(_originalError, _recoveryError, context) {
377
+ return `Unable to recover from ${context.operation.replace(/_/g, ' ')} error. Please try again later or contact support if the issue persists.`;
378
+ }
379
+ /**
380
+ * Check if operation can proceed given current constraints
381
+ */
382
+ async checkOperationViability(operation) {
383
+ // Simplified viability check
384
+ // In real implementation, this would check actual system resources
385
+ // Allow operation if estimated duration is reasonable
386
+ return operation.estimatedDuration < 5 * 60 * 1000; // 5 minutes max
387
+ }
388
+ /**
389
+ * Classify network error for specific handling
390
+ */
391
+ classifyNetworkError(error) {
392
+ if (error.type) {
393
+ return error.type;
394
+ }
395
+ const message = error.message.toLowerCase();
396
+ if (message.includes('timeout')) {
397
+ return orchestrationErrorHandler_1.NetworkErrorType.TIMEOUT;
398
+ }
399
+ if (message.includes('rate limit') || message.includes('429')) {
400
+ return orchestrationErrorHandler_1.NetworkErrorType.RATE_LIMIT;
401
+ }
402
+ if (message.includes('connection') || message.includes('ECONNREFUSED')) {
403
+ return orchestrationErrorHandler_1.NetworkErrorType.CONNECTION_FAILED;
404
+ }
405
+ if (message.includes('service unavailable') || message.includes('503')) {
406
+ return orchestrationErrorHandler_1.NetworkErrorType.SERVICE_UNAVAILABLE;
407
+ }
408
+ if (message.includes('401') || message.includes('403')) {
409
+ return orchestrationErrorHandler_1.NetworkErrorType.AUTHENTICATION_FAILED;
410
+ }
411
+ return orchestrationErrorHandler_1.NetworkErrorType.UNKNOWN;
412
+ }
413
+ /**
414
+ * Handle timeout errors
415
+ */
416
+ async handleTimeout(_error, context) {
417
+ if (context.retryCount < this.networkConfig.maxRetries) {
418
+ const backoffDelay = this.calculateExponentialBackoff(context.retryCount);
419
+ return {
420
+ action: orchestrationErrorHandler_1.RecoveryAction.RETRY,
421
+ message: `Request timed out - retrying in ${Math.round(backoffDelay / 1000)} seconds`,
422
+ userFacing: true,
423
+ estimatedRecoveryTime: backoffDelay,
424
+ };
425
+ }
426
+ return {
427
+ action: orchestrationErrorHandler_1.RecoveryAction.FALLBACK,
428
+ message: 'Request timeout - using simplified processing',
429
+ userFacing: true,
430
+ };
431
+ }
432
+ /**
433
+ * Handle rate limit errors
434
+ */
435
+ async handleRateLimit(error, _context) {
436
+ const retryAfter = error.retryAfter || 60; // Default 60 seconds
437
+ return {
438
+ action: orchestrationErrorHandler_1.RecoveryAction.RETRY,
439
+ message: `Rate limit reached - retrying in ${retryAfter} seconds`,
440
+ userFacing: true,
441
+ estimatedRecoveryTime: retryAfter * 1000,
442
+ additionalData: { retryAfter },
443
+ };
444
+ }
445
+ /**
446
+ * Handle connection failures
447
+ */
448
+ async handleConnectionFailure(_error, context) {
449
+ if (context.retryCount < 2) {
450
+ // Fewer retries for connection issues
451
+ return {
452
+ action: orchestrationErrorHandler_1.RecoveryAction.RETRY,
453
+ message: 'Connection issue - retrying with different endpoint',
454
+ userFacing: true,
455
+ estimatedRecoveryTime: 5000,
456
+ };
457
+ }
458
+ return {
459
+ action: orchestrationErrorHandler_1.RecoveryAction.FALLBACK,
460
+ message: 'Connection unavailable - using cached or simplified processing',
461
+ userFacing: true,
462
+ };
463
+ }
464
+ /**
465
+ * Handle service unavailable errors
466
+ */
467
+ async handleServiceUnavailable(_error, _context) {
468
+ return {
469
+ action: orchestrationErrorHandler_1.RecoveryAction.GRACEFUL_DEGRADATION,
470
+ message: 'Service temporarily unavailable - continuing with reduced functionality',
471
+ userFacing: true,
472
+ estimatedRecoveryTime: 120000, // 2 minutes
473
+ };
474
+ }
475
+ /**
476
+ * Handle authentication failures
477
+ */
478
+ async handleAuthenticationFailure(_error, _context) {
479
+ return {
480
+ action: orchestrationErrorHandler_1.RecoveryAction.FAIL_SAFE,
481
+ message: 'Authentication failed - please check your API configuration',
482
+ userFacing: true,
483
+ };
484
+ }
485
+ /**
486
+ * Handle unknown network errors
487
+ */
488
+ async handleUnknownNetworkError(_error, context) {
489
+ if (context.retryCount < 1) {
490
+ // Single retry for unknown errors
491
+ return {
492
+ action: orchestrationErrorHandler_1.RecoveryAction.RETRY,
493
+ message: 'Network issue detected - attempting retry',
494
+ userFacing: true,
495
+ estimatedRecoveryTime: 3000,
496
+ };
497
+ }
498
+ return {
499
+ action: orchestrationErrorHandler_1.RecoveryAction.FALLBACK,
500
+ message: 'Network error - continuing with alternative processing',
501
+ userFacing: true,
502
+ };
503
+ }
504
+ /**
505
+ * Calculate retry delay with exponential backoff
506
+ */
507
+ calculateRetryDelay(retryCount, baseDelay) {
508
+ return Math.min(baseDelay * 2 ** retryCount, this.networkConfig.maxDelay);
509
+ }
510
+ /**
511
+ * Calculate exponential backoff delay
512
+ */
513
+ calculateExponentialBackoff(retryCount) {
514
+ const delay = this.networkConfig.baseDelay * this.networkConfig.timeoutMultiplier ** retryCount;
515
+ return Math.min(delay, this.networkConfig.maxDelay);
516
+ }
517
+ /**
518
+ * Sleep for specified milliseconds
519
+ */
520
+ async delay(ms) {
521
+ return new Promise((resolve) => setTimeout(resolve, ms));
522
+ }
523
+ /**
524
+ * Generate error code based on error and context
525
+ */
526
+ generateErrorCode(error, context) {
527
+ const errorMessage = error.message.toLowerCase();
528
+ // Special error codes based on message content
529
+ if (errorMessage.includes('invalid api response') || errorMessage.includes('malformed')) {
530
+ return 'INVALID_API_RESPONSE';
531
+ }
532
+ if (errorMessage.includes('json') || error instanceof SyntaxError) {
533
+ return 'MALFORMED_JSON';
534
+ }
535
+ if (errorMessage.includes('missing') && errorMessage.includes('field')) {
536
+ return 'MISSING_REQUIRED_FIELD';
537
+ }
538
+ if (errorMessage.includes('empty prompt')) {
539
+ return 'EMPTY_PROMPT';
540
+ }
541
+ if (errorMessage.includes('oversized') || errorMessage.includes('too long')) {
542
+ return 'PROMPT_TOO_LONG';
543
+ }
544
+ if (errorMessage.includes('encoding')) {
545
+ return 'ENCODING_ERROR';
546
+ }
547
+ if (errorMessage.includes('timeout')) {
548
+ return 'OPERATION_TIMEOUT';
549
+ }
550
+ if (errorMessage.includes('rate limit') || errorMessage.includes('quota')) {
551
+ return 'RATE_LIMIT_EXCEEDED';
552
+ }
553
+ if (errorMessage.includes('configuration') || errorMessage.includes('config')) {
554
+ return 'CONFIGURATION_ERROR';
555
+ }
556
+ // Default fallback with context
557
+ const stage = context.stage.toUpperCase();
558
+ const errorType = error.name.toUpperCase().replace('ERROR', '');
559
+ return `${stage}_${errorType}_${Date.now().toString().slice(-4)}`;
560
+ }
561
+ /**
562
+ * Generate unique request ID
563
+ */
564
+ generateRequestId(context) {
565
+ return `${context.sessionId}-${context.operation}-${Date.now()}`;
566
+ }
567
+ }
568
+ exports.OrchestrationErrorHandlerImpl = OrchestrationErrorHandlerImpl;
569
+ //# sourceMappingURL=orchestrationErrorHandlerImpl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrationErrorHandlerImpl.js","sourceRoot":"","sources":["../../../src/infrastructure/errorHandling/orchestrationErrorHandlerImpl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * MCP Sampling Client Exports and Factory
3
+ * Clean architecture with no environment-based branching
4
+ */
5
+ export type { MCPSamplingClient, MCPSamplingConfig, MCPSamplingResult, } from '../../business/__tests__/mocks/mcpSamplingClient.mock';
6
+ export { RealMCPSamplingClient } from './RealMCPSamplingClient';
7
+ export { RealMCPSamplingClient as MCPSamplingClientImpl } from './RealMCPSamplingClient';
8
+ import { RealMCPSamplingClient } from './RealMCPSamplingClient';
9
+ import type { MCPSamplingConfig } from '../../business/__tests__/mocks/mcpSamplingClient.mock';
10
+ /**
11
+ * Factory function to create MCP Sampling Client
12
+ * Always returns the real implementation for production use
13
+ * Tests should explicitly use MockMCPSamplingClient
14
+ *
15
+ * @param config - Configuration for the client
16
+ * @returns RealMCPSamplingClient instance
17
+ */
18
+ export declare function createMCPSamplingClient(config?: Partial<MCPSamplingConfig>): RealMCPSamplingClient;
19
+ //# sourceMappingURL=MCPSamplingClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MCPSamplingClient.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/mcp/MCPSamplingClient.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,uDAAuD,CAAA;AAG9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,qBAAqB,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAExF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uDAAuD,CAAA;AAE9F;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAClC,qBAAqB,CAOvB"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ /**
3
+ * MCP Sampling Client Exports and Factory
4
+ * Clean architecture with no environment-based branching
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.MCPSamplingClientImpl = exports.RealMCPSamplingClient = void 0;
8
+ exports.createMCPSamplingClient = createMCPSamplingClient;
9
+ // Re-export the real implementation
10
+ var RealMCPSamplingClient_1 = require("./RealMCPSamplingClient");
11
+ Object.defineProperty(exports, "RealMCPSamplingClient", { enumerable: true, get: function () { return RealMCPSamplingClient_1.RealMCPSamplingClient; } });
12
+ var RealMCPSamplingClient_2 = require("./RealMCPSamplingClient");
13
+ Object.defineProperty(exports, "MCPSamplingClientImpl", { enumerable: true, get: function () { return RealMCPSamplingClient_2.RealMCPSamplingClient; } });
14
+ const RealMCPSamplingClient_3 = require("./RealMCPSamplingClient");
15
+ /**
16
+ * Factory function to create MCP Sampling Client
17
+ * Always returns the real implementation for production use
18
+ * Tests should explicitly use MockMCPSamplingClient
19
+ *
20
+ * @param config - Configuration for the client
21
+ * @returns RealMCPSamplingClient instance
22
+ */
23
+ function createMCPSamplingClient(config) {
24
+ return new RealMCPSamplingClient_3.RealMCPSamplingClient({
25
+ timeout: 30000,
26
+ maxAttempts: 3,
27
+ enableLogging: false,
28
+ ...config,
29
+ });
30
+ }
31
+ //# sourceMappingURL=MCPSamplingClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MCPSamplingClient.js","sourceRoot":"","sources":["../../../src/infrastructure/mcp/MCPSamplingClient.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAwBH,0DASC;AAxBD,oCAAoC;AACpC,iEAA+D;AAAtD,8HAAA,qBAAqB,OAAA;AAC9B,iEAAwF;AAA/E,8HAAA,qBAAqB,OAAyB;AAEvD,mEAA+D;AAG/D;;;;;;;GAOG;AACH,SAAgB,uBAAuB,CACrC,MAAmC;IAEnC,OAAO,IAAI,6CAAqB,CAAC;QAC/B,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,CAAC;QACd,aAAa,EAAE,KAAK;QACpB,GAAG,MAAM;KACV,CAAC,CAAA;AACJ,CAAC"}