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,328 @@
1
+ /**
2
+ * Type definitions for multi-image processing support
3
+ * Supports batch processing, parallel orchestration, and multi-prompt coordination
4
+ */
5
+ import type { GeneratedImageResult } from '../api/geminiClient';
6
+ import type { GeminiAPIError, NetworkError } from '../utils/errors';
7
+ import type { Result } from './result';
8
+ import type { ImageParameters, ProcessingMetadata, TwoStageResult } from './twoStageTypes';
9
+ /**
10
+ * Multi-image generation request
11
+ */
12
+ export interface MultiImageRequest {
13
+ basePrompt: string;
14
+ imageRequirements: ImageRequirement[];
15
+ consistencyLevel: ConsistencyLevel;
16
+ aspectRatioStrategy: AspectRatioStrategy;
17
+ processingOptions: MultiImageOptions;
18
+ }
19
+ /**
20
+ * Individual image requirement within a multi-image set
21
+ */
22
+ export interface ImageRequirement {
23
+ id: string;
24
+ specificPrompt?: string;
25
+ aspectRatio?: AspectRatio;
26
+ priority: number;
27
+ consistency: ConsistencyRequirement;
28
+ imageParameters?: ImageParameters;
29
+ }
30
+ /**
31
+ * Aspect ratio definitions
32
+ */
33
+ export interface AspectRatio {
34
+ width: number;
35
+ height: number;
36
+ ratio: string;
37
+ }
38
+ /**
39
+ * Consistency levels for multi-image processing
40
+ */
41
+ export declare enum ConsistencyLevel {
42
+ STRICT = "strict",// All elements must match exactly
43
+ MODERATE = "moderate",// Key elements must match
44
+ LOOSE = "loose"
45
+ }
46
+ /**
47
+ * Aspect ratio strategy for multi-image sets
48
+ */
49
+ export declare enum AspectRatioStrategy {
50
+ ADAPTIVE = "adaptive",// Choose best ratio per image
51
+ UNIFORM = "uniform",// Use same ratio for all
52
+ CONTENT_DRIVEN = "content_driven",// Ratio based on content
53
+ LAST_IMAGE = "last_image"
54
+ }
55
+ /**
56
+ * Consistency requirements for individual images
57
+ */
58
+ export interface ConsistencyRequirement {
59
+ maintainCharacters: boolean;
60
+ maintainStyle: boolean;
61
+ maintainEnvironment: boolean;
62
+ maintainLighting: boolean;
63
+ maintainMood: boolean;
64
+ customRules?: string[];
65
+ }
66
+ /**
67
+ * Options for multi-image processing
68
+ */
69
+ export interface MultiImageOptions {
70
+ enableParallelProcessing: boolean;
71
+ maxConcurrentImages: number;
72
+ batchProcessingTimeout: number;
73
+ enableConsistencyValidation: boolean;
74
+ performanceTarget: number;
75
+ }
76
+ /**
77
+ * Result of multi-image processing
78
+ */
79
+ export interface MultiImageResult {
80
+ basePrompt: string;
81
+ processedImages: ProcessedImageResult[];
82
+ consistencyMetrics: ConsistencyMetrics;
83
+ processingMetadata: MultiImageProcessingMetadata;
84
+ aspectRatioSource: 'adaptive' | 'uniform' | 'content_driven' | 'last_image';
85
+ success: boolean;
86
+ }
87
+ /**
88
+ * Individual processed image result
89
+ */
90
+ export interface ProcessedImageResult {
91
+ requirement: ImageRequirement;
92
+ twoStageResult: TwoStageResult;
93
+ consistencyScore: number;
94
+ aspectRatioOptimization: AspectRatioOptimizationResult;
95
+ }
96
+ /**
97
+ * Consistency metrics for the entire image set
98
+ */
99
+ export interface ConsistencyMetrics {
100
+ overallConsistencyScore: number;
101
+ characterConsistency: number;
102
+ styleConsistency: number;
103
+ environmentConsistency: number;
104
+ lightingConsistency: number;
105
+ moodConsistency: number;
106
+ failedValidations: string[];
107
+ }
108
+ /**
109
+ * Multi-image specific processing metadata
110
+ */
111
+ export interface MultiImageProcessingMetadata extends ProcessingMetadata {
112
+ batchSize: number;
113
+ parallelProcessingUsed: boolean;
114
+ concurrentImages: number;
115
+ consistencyValidationTime: number;
116
+ aspectRatioOptimizationTime: number;
117
+ imageCoordinationTime: number;
118
+ }
119
+ /**
120
+ * Aspect ratio optimization result
121
+ */
122
+ export interface AspectRatioOptimizationResult {
123
+ originalRatio?: AspectRatio;
124
+ optimizedRatio: AspectRatio;
125
+ optimization: AspectRatioOptimization;
126
+ reasoning: string;
127
+ }
128
+ /**
129
+ * Aspect ratio optimization details
130
+ */
131
+ export interface AspectRatioOptimization {
132
+ strategy: AspectRatioStrategy;
133
+ contentAnalysis: ContentAnalysis;
134
+ recommendedRatio: AspectRatio;
135
+ confidenceScore: number;
136
+ }
137
+ /**
138
+ * Content analysis for aspect ratio optimization
139
+ */
140
+ export interface ContentAnalysis {
141
+ primarySubject: 'portrait' | 'landscape' | 'object' | 'scene' | 'abstract';
142
+ composition: 'horizontal' | 'vertical' | 'square';
143
+ elements: string[];
144
+ rationale: string;
145
+ }
146
+ /**
147
+ * Common elements extracted across multiple images
148
+ */
149
+ export interface CommonElements {
150
+ characters: string[];
151
+ style: string[];
152
+ environment: string[];
153
+ lighting: string[];
154
+ mood: string[];
155
+ }
156
+ /**
157
+ * Consistency profile for coordinating multiple images
158
+ */
159
+ export interface ConsistencyProfile {
160
+ level: ConsistencyLevel;
161
+ commonElements: CommonElements;
162
+ consistencyRules: ConsistencyRule[];
163
+ enforcementPriority: 'characters' | 'style' | 'environment' | 'balanced';
164
+ }
165
+ /**
166
+ * Individual consistency rule
167
+ */
168
+ export interface ConsistencyRule {
169
+ element: string;
170
+ requirement: string;
171
+ priority: number;
172
+ validation: (image: GeneratedImageResult) => boolean;
173
+ }
174
+ /**
175
+ * Image generation context enhanced with multi-image awareness
176
+ */
177
+ export interface ImageGenerationContext {
178
+ basePrompt: string;
179
+ enhancedPrompt: string;
180
+ requirement: ImageRequirement;
181
+ consistencyProfile: ConsistencyProfile;
182
+ aspectRatioOptimization: AspectRatioOptimization;
183
+ relatedContexts: string[];
184
+ }
185
+ /**
186
+ * Result of consistency enhancement
187
+ */
188
+ export interface ConsistencyEnhancedContexts {
189
+ contexts: ImageGenerationContext[];
190
+ appliedRules: ConsistencyRule[];
191
+ consistencyScore: number;
192
+ }
193
+ /**
194
+ * Coherence validation result for image sets
195
+ */
196
+ export interface CoherenceValidationResult {
197
+ isCoherent: boolean;
198
+ coherenceScore: number;
199
+ validationDetails: CoherenceValidationDetail[];
200
+ recommendations: string[];
201
+ }
202
+ /**
203
+ * Individual coherence validation detail
204
+ */
205
+ export interface CoherenceValidationDetail {
206
+ aspect: 'character' | 'style' | 'environment' | 'lighting' | 'mood';
207
+ score: number;
208
+ issues: string[];
209
+ suggestions: string[];
210
+ }
211
+ /**
212
+ * Uploaded image for multi-image processing
213
+ */
214
+ export interface UploadedImage {
215
+ id: string;
216
+ data: Buffer;
217
+ metadata: UploadedImageMetadata;
218
+ aspectRatio: AspectRatio;
219
+ }
220
+ /**
221
+ * Metadata for uploaded images
222
+ */
223
+ export interface UploadedImageMetadata {
224
+ filename: string;
225
+ fileSize: number;
226
+ mimeType: string;
227
+ uploadTime: Date;
228
+ dimensions: {
229
+ width: number;
230
+ height: number;
231
+ };
232
+ }
233
+ /**
234
+ * Processed image set result
235
+ */
236
+ export interface ProcessedImageSet {
237
+ images: UploadedImage[];
238
+ consistencyValidation: ConsistencyValidationResult;
239
+ recommendedProcessingOrder: string[];
240
+ estimatedProcessingTime: number;
241
+ }
242
+ /**
243
+ * Consistency validation result for uploaded images
244
+ */
245
+ export interface ConsistencyValidationResult {
246
+ isValid: boolean;
247
+ validationScore: number;
248
+ issues: ConsistencyIssue[];
249
+ recommendations: string[];
250
+ }
251
+ /**
252
+ * Individual consistency issue
253
+ */
254
+ export interface ConsistencyIssue {
255
+ type: 'aspect_ratio_mismatch' | 'style_conflict' | 'size_inconsistency' | 'format_incompatibility';
256
+ severity: 'low' | 'medium' | 'high';
257
+ description: string;
258
+ affectedImages: string[];
259
+ suggestedFix: string;
260
+ }
261
+ /**
262
+ * Image edit operation
263
+ */
264
+ export interface ImageEdit {
265
+ imageId: string;
266
+ editType: 'enhance' | 'style_transfer' | 'aspect_ratio_change' | 'consistency_fix';
267
+ parameters: ImageEditParameters;
268
+ requireConsistency: boolean;
269
+ }
270
+ /**
271
+ * Parameters for image editing
272
+ */
273
+ export interface ImageEditParameters {
274
+ prompt?: string;
275
+ style?: string;
276
+ aspectRatio?: AspectRatio;
277
+ customParameters?: Record<string, unknown>;
278
+ }
279
+ /**
280
+ * Result of consistent editing across multiple images
281
+ */
282
+ export interface ConsistentlyEditedImages {
283
+ editedImages: GeneratedImageResult[];
284
+ consistencyMaintained: boolean;
285
+ consistencyScore: number;
286
+ appliedEdits: ImageEdit[];
287
+ failedEdits: FailedEdit[];
288
+ }
289
+ /**
290
+ * Failed edit information
291
+ */
292
+ export interface FailedEdit {
293
+ edit: ImageEdit;
294
+ error: GeminiAPIError | NetworkError;
295
+ fallbackApplied: boolean;
296
+ }
297
+ /**
298
+ * Main interface for multi-image coordination
299
+ */
300
+ export interface MultiImageCoordinator {
301
+ coordinateMultipleImages(request: MultiImageRequest): Promise<Result<MultiImageResult, GeminiAPIError | NetworkError>>;
302
+ maintainConsistencyAcrossImages(images: ImageGenerationContext[], consistencyProfile: ConsistencyProfile): Promise<Result<ConsistencyEnhancedContexts, GeminiAPIError>>;
303
+ validateImageSetCoherence(imageSet: GeneratedImageResult[]): Promise<Result<CoherenceValidationResult, GeminiAPIError>>;
304
+ }
305
+ /**
306
+ * Interface for aspect ratio control and optimization
307
+ */
308
+ export interface AspectRatioController {
309
+ optimizeAspectRatios(requirements: ImageRequirement[], strategy: AspectRatioStrategy): Promise<Result<OptimizedAspectRatios, GeminiAPIError>>;
310
+ analyzeContentForAspectRatio(prompt: string): Promise<Result<ContentAnalysis, GeminiAPIError>>;
311
+ selectOptimalRatio(analysis: ContentAnalysis): AspectRatio;
312
+ }
313
+ /**
314
+ * Result of aspect ratio optimization
315
+ */
316
+ export interface OptimizedAspectRatios {
317
+ optimizations: AspectRatioOptimizationResult[];
318
+ strategy: AspectRatioStrategy;
319
+ overallCoherence: number;
320
+ }
321
+ /**
322
+ * Interface for multi-image upload handling
323
+ */
324
+ export interface MultiImageUploadHandler {
325
+ handleMultipleImageUpload(images: UploadedImage[], consistencyRequirements: ConsistencyRequirement[]): Promise<Result<ProcessedImageSet, GeminiAPIError>>;
326
+ maintainEditingConsistency(originalImages: GeneratedImageResult[], edits: ImageEdit[]): Promise<Result<ConsistentlyEditedImages, GeminiAPIError>>;
327
+ }
328
+ //# sourceMappingURL=multiImageTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiImageTypes.d.ts","sourceRoot":"","sources":["../../src/types/multiImageTypes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ /**
3
+ * Type definitions for multi-image processing support
4
+ * Supports batch processing, parallel orchestration, and multi-prompt coordination
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.AspectRatioStrategy = exports.ConsistencyLevel = void 0;
8
+ /**
9
+ * Consistency levels for multi-image processing
10
+ */
11
+ var ConsistencyLevel;
12
+ (function (ConsistencyLevel) {
13
+ ConsistencyLevel["STRICT"] = "strict";
14
+ ConsistencyLevel["MODERATE"] = "moderate";
15
+ ConsistencyLevel["LOOSE"] = "loose";
16
+ })(ConsistencyLevel || (exports.ConsistencyLevel = ConsistencyLevel = {}));
17
+ /**
18
+ * Aspect ratio strategy for multi-image sets
19
+ */
20
+ var AspectRatioStrategy;
21
+ (function (AspectRatioStrategy) {
22
+ AspectRatioStrategy["ADAPTIVE"] = "adaptive";
23
+ AspectRatioStrategy["UNIFORM"] = "uniform";
24
+ AspectRatioStrategy["CONTENT_DRIVEN"] = "content_driven";
25
+ AspectRatioStrategy["LAST_IMAGE"] = "last_image";
26
+ })(AspectRatioStrategy || (exports.AspectRatioStrategy = AspectRatioStrategy = {}));
27
+ //# sourceMappingURL=multiImageTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiImageTypes.js","sourceRoot":"","sources":["../../src/types/multiImageTypes.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAuCH;;GAEG;AACH,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,yCAAqB,CAAA;IACrB,mCAAe,CAAA;AACjB,CAAC,EAJW,gBAAgB,gCAAhB,gBAAgB,QAI3B;AAED;;GAEG;AACH,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC7B,4CAAqB,CAAA;IACrB,0CAAmB,CAAA;IACnB,wDAAiC,CAAA;IACjC,gDAAyB,CAAA;AAC3B,CAAC,EALW,mBAAmB,mCAAnB,mBAAmB,QAK9B"}
@@ -0,0 +1,300 @@
1
+ /**
2
+ * Performance monitoring and optimization type definitions
3
+ * Provides comprehensive monitoring capabilities for structured prompt generation
4
+ */
5
+ /**
6
+ * Processing stages for performance measurement
7
+ */
8
+ export declare enum ProcessingStage {
9
+ PROMPT_GENERATION = "prompt_generation",
10
+ IMAGE_GENERATION = "image_generation",
11
+ POML_PROCESSING = "poml_processing",
12
+ BEST_PRACTICES = "best_practices",
13
+ FALLBACK_PROCESSING = "fallback_processing",
14
+ TOTAL_PROCESSING = "total_processing"
15
+ }
16
+ /**
17
+ * Fallback tier classification for monitoring
18
+ */
19
+ export declare enum FallbackTier {
20
+ NO_FALLBACK = "no_fallback",
21
+ REDUCED_FEATURES = "reduced_features",
22
+ MINIMAL_PROCESSING = "minimal_processing",
23
+ DIRECT_PROMPT = "direct_prompt"
24
+ }
25
+ /**
26
+ * Alert types for monitoring system
27
+ */
28
+ export declare enum AlertType {
29
+ PERFORMANCE_DEGRADATION = "performance_degradation",
30
+ COST_THRESHOLD = "cost_threshold",
31
+ ERROR_RATE = "error_rate",
32
+ RESOURCE_EXHAUSTION = "resource_exhaustion"
33
+ }
34
+ /**
35
+ * Memory usage metrics
36
+ */
37
+ export interface MemoryMetrics {
38
+ heapUsed: number;
39
+ heapTotal: number;
40
+ external: number;
41
+ arrayBuffers: number;
42
+ timestamp: number;
43
+ }
44
+ /**
45
+ * Memory leak detection information
46
+ */
47
+ export interface MemoryLeakDetection {
48
+ suspectedLocation: string;
49
+ leakRate: number;
50
+ severity: 'low' | 'medium' | 'high' | 'critical';
51
+ }
52
+ /**
53
+ * Memory efficiency metrics
54
+ */
55
+ export interface MemoryEfficiencyMetrics {
56
+ peakMemoryUsage: number;
57
+ averageMemoryUsage: number;
58
+ memoryLeaks: MemoryLeakDetection[];
59
+ garbageCollectionImpact: number;
60
+ }
61
+ /**
62
+ * Bottleneck analysis information
63
+ */
64
+ export interface BottleneckAnalysis {
65
+ stage: ProcessingStage;
66
+ avgDuration: number;
67
+ impactPercentage: number;
68
+ recommendedOptimizations: string[];
69
+ }
70
+ /**
71
+ * Time range for performance reports
72
+ */
73
+ export interface TimeRange {
74
+ start: number;
75
+ end: number;
76
+ }
77
+ /**
78
+ * Reporting period options
79
+ */
80
+ export declare enum ReportingPeriod {
81
+ LAST_HOUR = "last_hour",
82
+ LAST_DAY = "last_day",
83
+ LAST_WEEK = "last_week",
84
+ LAST_MONTH = "last_month"
85
+ }
86
+ /**
87
+ * Performance report structure
88
+ */
89
+ export interface PerformanceReport {
90
+ averageProcessingTime: number;
91
+ p95ProcessingTime: number;
92
+ successRate: number;
93
+ fallbackRate: number;
94
+ memoryEfficiency: MemoryEfficiencyMetrics;
95
+ bottleneckAnalysis: BottleneckAnalysis[];
96
+ totalRequests: number;
97
+ timeRange: TimeRange;
98
+ }
99
+ /**
100
+ * API usage record for cost tracking
101
+ */
102
+ export interface APIUsageRecord {
103
+ timestamp: number;
104
+ client: string;
105
+ operation: string;
106
+ tokens: number;
107
+ cost: number;
108
+ success: boolean;
109
+ processingTime: number;
110
+ }
111
+ /**
112
+ * Cost optimization suggestion
113
+ */
114
+ export interface OptimizationSuggestion {
115
+ type: 'reduce_fallback' | 'improve_caching' | 'batch_requests' | 'optimize_prompts';
116
+ description: string;
117
+ potentialSavings: number;
118
+ implementationEffort: 'low' | 'medium' | 'high';
119
+ }
120
+ /**
121
+ * Cost analysis report
122
+ */
123
+ export interface CostAnalysis {
124
+ totalCost: number;
125
+ costByClient: Record<string, number>;
126
+ projectedMonthlyCost: number;
127
+ costOptimizationSuggestions: OptimizationSuggestion[];
128
+ anomalyDetection: CostAnomaly[];
129
+ }
130
+ /**
131
+ * Cost anomaly detection
132
+ */
133
+ export interface CostAnomaly {
134
+ timestamp: number;
135
+ type: 'spike' | 'unusual_pattern' | 'budget_exceeded';
136
+ description: string;
137
+ severity: 'low' | 'medium' | 'high' | 'critical';
138
+ estimatedImpact: number;
139
+ }
140
+ /**
141
+ * Alert rule configuration
142
+ */
143
+ export interface AlertRule {
144
+ id: string;
145
+ name: string;
146
+ type: AlertType;
147
+ enabled: boolean;
148
+ conditions: AlertCondition[];
149
+ actions: AlertAction[];
150
+ threshold: number;
151
+ cooldownPeriod: number;
152
+ }
153
+ /**
154
+ * Alert condition definition
155
+ */
156
+ export interface AlertCondition {
157
+ metric: string;
158
+ operator: 'gt' | 'lt' | 'eq' | 'gte' | 'lte';
159
+ value: number;
160
+ timeWindow: number;
161
+ }
162
+ /**
163
+ * Alert action configuration
164
+ */
165
+ export interface AlertAction {
166
+ type: 'log' | 'webhook' | 'email';
167
+ config: Record<string, unknown>;
168
+ }
169
+ /**
170
+ * Alert event information
171
+ */
172
+ export interface AlertEvent {
173
+ id: string;
174
+ ruleId: string;
175
+ timestamp: number;
176
+ severity: 'low' | 'medium' | 'high' | 'critical';
177
+ message: string;
178
+ context: Record<string, unknown>;
179
+ resolved: boolean;
180
+ resolvedAt?: number;
181
+ }
182
+ /**
183
+ * Alert evaluation result
184
+ */
185
+ export interface AlertEvaluation {
186
+ triggered: boolean;
187
+ reason?: string;
188
+ metric?: string;
189
+ actualValue?: number;
190
+ threshold?: number;
191
+ }
192
+ /**
193
+ * Current metrics snapshot
194
+ */
195
+ export interface CurrentMetrics {
196
+ processingTime: Record<ProcessingStage, number[]>;
197
+ memoryUsage: MemoryMetrics;
198
+ errorCount: number;
199
+ successCount: number;
200
+ totalCost: number;
201
+ activeRequests: number;
202
+ }
203
+ /**
204
+ * Alert status information
205
+ */
206
+ export interface AlertStatus {
207
+ ruleId: string;
208
+ ruleName: string;
209
+ status: 'normal' | 'warning' | 'critical';
210
+ lastTriggered?: number;
211
+ activeAlerts: number;
212
+ }
213
+ /**
214
+ * Performance metrics collection interface
215
+ */
216
+ export interface OrchestrationMetrics {
217
+ recordProcessingTime(stage: ProcessingStage, duration: number): void;
218
+ recordMemoryUsage(operation: string, usage: MemoryMetrics): void;
219
+ recordAPICall(client: string, cost: number, success: boolean, tokens: number): void;
220
+ recordFallbackEvent(tier: FallbackTier, reason: string): void;
221
+ recordError(stage: ProcessingStage, error: Error): void;
222
+ getPerformanceReport(timeRange: TimeRange): Promise<PerformanceReport>;
223
+ getCostAnalysis(period: ReportingPeriod): Promise<CostAnalysis>;
224
+ getAlertStatus(): Promise<AlertStatus[]>;
225
+ getCurrentMetrics(): CurrentMetrics;
226
+ }
227
+ /**
228
+ * Cache optimization configuration
229
+ */
230
+ export interface CacheOptimization {
231
+ strategy: 'intelligent_prefetch' | 'adaptive_lru' | 'maintain_current';
232
+ config?: {
233
+ prefetchThreshold?: number;
234
+ cacheSize?: number;
235
+ evictionPolicy?: string;
236
+ };
237
+ }
238
+ /**
239
+ * Memory optimization configuration
240
+ */
241
+ export interface MemoryOptimization {
242
+ streamProcessing: boolean;
243
+ batchProcessing: boolean;
244
+ memoryPooling: boolean;
245
+ garbageCollectionTuning: boolean;
246
+ }
247
+ /**
248
+ * Performance analysis result
249
+ */
250
+ export interface PerformanceAnalysis {
251
+ averagePromptSize: number;
252
+ concurrentRequests: number;
253
+ memoryFragmentation: number;
254
+ gcImpact: number;
255
+ cacheMetrics: {
256
+ hitRate: number;
257
+ missRate: number;
258
+ };
259
+ memoryConstraints: {
260
+ available: number;
261
+ limit: number;
262
+ };
263
+ }
264
+ /**
265
+ * Optimization request parameters
266
+ */
267
+ export interface OptimizationRequest {
268
+ targetStage?: ProcessingStage;
269
+ currentLoad: number;
270
+ timeConstraints?: number;
271
+ memoryConstraints?: number;
272
+ }
273
+ /**
274
+ * Optimized pipeline configuration
275
+ */
276
+ export interface OptimizedPipeline {
277
+ cacheOptimization: CacheOptimization;
278
+ memoryOptimization: MemoryOptimization;
279
+ resourceAllocation: ResourceAllocation;
280
+ apiCallPattern: APICallPattern;
281
+ }
282
+ /**
283
+ * Resource allocation configuration
284
+ */
285
+ export interface ResourceAllocation {
286
+ maxConcurrentRequests: number;
287
+ memoryLimit: number;
288
+ priorityQueuing: boolean;
289
+ resourcePooling: boolean;
290
+ }
291
+ /**
292
+ * API call pattern optimization
293
+ */
294
+ export interface APICallPattern {
295
+ batchingEnabled: boolean;
296
+ rateLimitOptimization: boolean;
297
+ connectionPooling: boolean;
298
+ intelligentRetry: boolean;
299
+ }
300
+ //# sourceMappingURL=performanceTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performanceTypes.d.ts","sourceRoot":"","sources":["../../src/types/performanceTypes.ts"],"names":[],"mappings":"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"}