@michelabboud/visual-forge-mcp 0.5.6 → 0.6.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.
@@ -38,8 +38,14 @@ export interface GeneratedImageMetadata {
38
38
  height: number;
39
39
  };
40
40
  fileSize: number;
41
- format: 'png' | 'jpg' | 'webp';
41
+ format: 'png' | 'jpg' | 'jpeg' | 'webp';
42
42
  promptUsed: string;
43
+ optimization?: {
44
+ optimized: boolean;
45
+ originalPath: string;
46
+ originalSize: number;
47
+ reduction: number;
48
+ };
43
49
  }
44
50
  export type ProviderType = 'openai' | 'gemini' | 'stability' | 'replicate' | 'leonardo' | 'huggingface' | 'xai';
45
51
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"generation.d.ts","sourceRoot":"","sources":["../../src/types/generation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,MAAM,gBAAgB,GACxB,QAAQ,GACR,YAAY,GACZ,QAAQ,GACR,UAAU,GACV,UAAU,GACV,WAAW,GACX,QAAQ,CAAC;AAEb;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,sBAAsB,CAAC;IACjC,WAAW,EAAE,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,WAAW,GACX,UAAU,GACV,aAAa,GACb,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,IAAI,EAAE,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB"}
1
+ {"version":3,"file":"generation.d.ts","sourceRoot":"","sources":["../../src/types/generation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,MAAM,gBAAgB,GACxB,QAAQ,GACR,YAAY,GACZ,QAAQ,GACR,UAAU,GACV,UAAU,GACV,WAAW,GACX,QAAQ,CAAC;AAEb;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,sBAAsB,CAAC;IACjC,WAAW,EAAE,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE;QACb,SAAS,EAAE,OAAO,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,WAAW,GACX,UAAU,GACV,aAAa,GACb,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,IAAI,EAAE,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Image Optimizer - Web optimization for generated images
3
+ * Gracefully falls back to original images if Sharp is unavailable
4
+ *
5
+ * Configuration via environment variables:
6
+ * - IMAGE_OPTIMIZATION_ENABLED: Enable/disable optimization (default: true)
7
+ * - IMAGE_OPTIMIZATION_QUALITY: Quality 1-100 (default: 85)
8
+ * - IMAGE_OPTIMIZATION_FORMAT: webp|jpeg|png (default: webp)
9
+ * - IMAGE_OPTIMIZATION_MAX_WIDTH: Max width in pixels (default: 1920)
10
+ * - IMAGE_OPTIMIZATION_MAX_HEIGHT: Max height in pixels (default: 1920)
11
+ */
12
+ export interface OptimizationOptions {
13
+ /**
14
+ * Enable/disable optimization (default: true)
15
+ * If false, returns original path without optimization
16
+ */
17
+ enabled?: boolean;
18
+ /**
19
+ * Target quality (1-100, default: 85)
20
+ */
21
+ quality?: number;
22
+ /**
23
+ * Maximum width in pixels (default: 1920)
24
+ */
25
+ maxWidth?: number;
26
+ /**
27
+ * Maximum height in pixels (default: 1920)
28
+ */
29
+ maxHeight?: number;
30
+ /**
31
+ * Output format (default: 'webp')
32
+ */
33
+ format?: 'webp' | 'jpeg' | 'png';
34
+ /**
35
+ * Whether to keep the original file (default: true)
36
+ */
37
+ keepOriginal?: boolean;
38
+ }
39
+ export interface OptimizationResult {
40
+ /**
41
+ * Path to the optimized image (or original if optimization failed)
42
+ */
43
+ optimizedPath: string;
44
+ /**
45
+ * Path to the original image
46
+ */
47
+ originalPath: string;
48
+ /**
49
+ * Whether optimization was performed
50
+ */
51
+ optimized: boolean;
52
+ /**
53
+ * Original file size in bytes
54
+ */
55
+ originalSize: number;
56
+ /**
57
+ * Optimized file size in bytes (same as originalSize if not optimized)
58
+ */
59
+ optimizedSize: number;
60
+ /**
61
+ * Reduction percentage (0 if not optimized)
62
+ */
63
+ reductionPercent: number;
64
+ /**
65
+ * Format of the optimized image
66
+ */
67
+ format: 'png' | 'jpg' | 'jpeg' | 'webp' | string;
68
+ }
69
+ /**
70
+ * Optimize an image for web use
71
+ * @param inputPath - Path to the input image
72
+ * @param options - Optimization options
73
+ * @returns Optimization result with paths and stats
74
+ */
75
+ export declare function optimizeImage(inputPath: string, options?: OptimizationOptions): Promise<OptimizationResult>;
76
+ /**
77
+ * Check if image optimization is available
78
+ */
79
+ export declare function isOptimizationAvailable(): Promise<boolean>;
80
+ /**
81
+ * Get optimization statistics
82
+ */
83
+ export declare function getOptimizationStats(results: OptimizationResult[]): {
84
+ totalOriginalSize: number;
85
+ totalOptimizedSize: number;
86
+ totalReduction: number;
87
+ averageReduction: number;
88
+ optimizedCount: number;
89
+ totalCount: number;
90
+ };
91
+ //# sourceMappingURL=image-optimizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-optimizer.d.ts","sourceRoot":"","sources":["../../src/utils/image-optimizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAsDH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IAEjC;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,MAAM,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;CAClD;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,kBAAkB,CAAC,CA+K7B;AAED;;GAEG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,OAAO,CAAC,CAEhE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG;IACnE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB,CAmBA"}
@@ -0,0 +1,241 @@
1
+ /**
2
+ * Image Optimizer - Web optimization for generated images
3
+ * Gracefully falls back to original images if Sharp is unavailable
4
+ *
5
+ * Configuration via environment variables:
6
+ * - IMAGE_OPTIMIZATION_ENABLED: Enable/disable optimization (default: true)
7
+ * - IMAGE_OPTIMIZATION_QUALITY: Quality 1-100 (default: 85)
8
+ * - IMAGE_OPTIMIZATION_FORMAT: webp|jpeg|png (default: webp)
9
+ * - IMAGE_OPTIMIZATION_MAX_WIDTH: Max width in pixels (default: 1920)
10
+ * - IMAGE_OPTIMIZATION_MAX_HEIGHT: Max height in pixels (default: 1920)
11
+ */
12
+ import * as fs from 'fs/promises';
13
+ import * as path from 'path';
14
+ import { logger } from './logger.js';
15
+ /**
16
+ * Get optimization configuration from environment variables
17
+ */
18
+ function getOptimizationConfig() {
19
+ const enabled = process.env.IMAGE_OPTIMIZATION_ENABLED !== 'false'; // Default: true
20
+ const quality = parseInt(process.env.IMAGE_OPTIMIZATION_QUALITY || '85', 10);
21
+ const format = (process.env.IMAGE_OPTIMIZATION_FORMAT || 'webp');
22
+ const maxWidth = parseInt(process.env.IMAGE_OPTIMIZATION_MAX_WIDTH || '1920', 10);
23
+ const maxHeight = parseInt(process.env.IMAGE_OPTIMIZATION_MAX_HEIGHT || '1920', 10);
24
+ const keepOriginal = process.env.IMAGE_OPTIMIZATION_KEEP_ORIGINAL !== 'false'; // Default: true
25
+ return {
26
+ enabled,
27
+ quality: Math.max(1, Math.min(100, quality)), // Clamp to 1-100
28
+ format,
29
+ maxWidth: Math.max(100, maxWidth), // Minimum 100px
30
+ maxHeight: Math.max(100, maxHeight),
31
+ keepOriginal,
32
+ };
33
+ }
34
+ // Dynamic import of Sharp to handle missing dependency gracefully
35
+ let sharp = null;
36
+ let sharpAvailable = false;
37
+ /**
38
+ * Initialize Sharp library
39
+ * Returns true if Sharp is available, false otherwise
40
+ */
41
+ async function initializeSharp() {
42
+ if (sharp !== null) {
43
+ return sharpAvailable;
44
+ }
45
+ try {
46
+ sharp = (await import('sharp')).default;
47
+ sharpAvailable = true;
48
+ logger.info('Sharp library loaded successfully - web optimization enabled');
49
+ return true;
50
+ }
51
+ catch (error) {
52
+ sharpAvailable = false;
53
+ logger.warn('Sharp library not available - using original images without optimization', {
54
+ error: error instanceof Error ? error.message : 'Unknown error',
55
+ });
56
+ return false;
57
+ }
58
+ }
59
+ /**
60
+ * Optimize an image for web use
61
+ * @param inputPath - Path to the input image
62
+ * @param options - Optimization options
63
+ * @returns Optimization result with paths and stats
64
+ */
65
+ export async function optimizeImage(inputPath, options = {}) {
66
+ // Get default config from environment
67
+ const envConfig = getOptimizationConfig();
68
+ // Merge user options with environment defaults
69
+ const { enabled = envConfig.enabled, quality = envConfig.quality, maxWidth = envConfig.maxWidth, maxHeight = envConfig.maxHeight, format = envConfig.format, keepOriginal = envConfig.keepOriginal, } = options;
70
+ // Get original file stats
71
+ const originalStats = await fs.stat(inputPath);
72
+ const originalSize = originalStats.size;
73
+ // Check if optimization is disabled
74
+ if (!enabled) {
75
+ logger.info('Image optimization disabled, using original', {
76
+ path: inputPath,
77
+ size: originalSize,
78
+ reason: 'IMAGE_OPTIMIZATION_ENABLED=false',
79
+ });
80
+ return {
81
+ optimizedPath: inputPath,
82
+ originalPath: inputPath,
83
+ optimized: false,
84
+ originalSize,
85
+ optimizedSize: originalSize,
86
+ reductionPercent: 0,
87
+ format: path.extname(inputPath).slice(1) || 'unknown',
88
+ };
89
+ }
90
+ // Ensure Sharp is initialized
91
+ const isSharpAvailable = await initializeSharp();
92
+ // If Sharp is not available, return original path
93
+ if (!isSharpAvailable || !sharp) {
94
+ logger.info('Using original image without optimization', {
95
+ path: inputPath,
96
+ size: originalSize,
97
+ reason: 'Sharp not available',
98
+ });
99
+ return {
100
+ optimizedPath: inputPath,
101
+ originalPath: inputPath,
102
+ optimized: false,
103
+ originalSize,
104
+ optimizedSize: originalSize,
105
+ reductionPercent: 0,
106
+ format: path.extname(inputPath).slice(1) || 'unknown',
107
+ };
108
+ }
109
+ try {
110
+ const dir = path.dirname(inputPath);
111
+ const basename = path.basename(inputPath, path.extname(inputPath));
112
+ const ext = `.${format}`;
113
+ // Create paths
114
+ const originalDir = path.join(dir, 'original');
115
+ const originalPath = keepOriginal ? path.join(originalDir, path.basename(inputPath)) : inputPath;
116
+ const optimizedPath = path.join(dir, `${basename}${ext}`);
117
+ // If keeping original, create original directory and move file
118
+ if (keepOriginal) {
119
+ await fs.mkdir(originalDir, { recursive: true });
120
+ await fs.copyFile(inputPath, originalPath);
121
+ logger.debug('Original image saved', { path: originalPath });
122
+ }
123
+ // Optimize image with Sharp
124
+ logger.debug('Optimizing image with Sharp', {
125
+ input: inputPath,
126
+ output: optimizedPath,
127
+ quality,
128
+ maxWidth,
129
+ maxHeight,
130
+ format,
131
+ });
132
+ const sharpInstance = sharp(inputPath);
133
+ // Get image metadata
134
+ const metadata = await sharpInstance.metadata();
135
+ logger.debug('Image metadata', {
136
+ width: metadata.width,
137
+ height: metadata.height,
138
+ format: metadata.format,
139
+ });
140
+ // Resize if needed
141
+ let needsResize = false;
142
+ if (metadata.width && metadata.width > maxWidth) {
143
+ needsResize = true;
144
+ }
145
+ if (metadata.height && metadata.height > maxHeight) {
146
+ needsResize = true;
147
+ }
148
+ let pipeline = sharpInstance;
149
+ if (needsResize) {
150
+ pipeline = pipeline.resize(maxWidth, maxHeight, {
151
+ fit: 'inside',
152
+ withoutEnlargement: true,
153
+ });
154
+ logger.debug('Resizing image', { maxWidth, maxHeight });
155
+ }
156
+ // Apply format-specific optimization
157
+ switch (format) {
158
+ case 'webp':
159
+ pipeline = pipeline.webp({ quality, effort: 6 });
160
+ break;
161
+ case 'jpeg':
162
+ pipeline = pipeline.jpeg({ quality, mozjpeg: true });
163
+ break;
164
+ case 'png':
165
+ pipeline = pipeline.png({ compressionLevel: 9, adaptiveFiltering: true });
166
+ break;
167
+ }
168
+ // Save optimized image
169
+ await pipeline.toFile(optimizedPath);
170
+ // Remove original from main directory if keeping it
171
+ if (keepOriginal && inputPath !== originalPath) {
172
+ await fs.unlink(inputPath);
173
+ }
174
+ // Get optimized file stats
175
+ const optimizedStats = await fs.stat(optimizedPath);
176
+ const optimizedSize = optimizedStats.size;
177
+ const reductionPercent = ((originalSize - optimizedSize) / originalSize) * 100;
178
+ logger.info('Image optimized successfully', {
179
+ originalPath: keepOriginal ? originalPath : inputPath,
180
+ optimizedPath,
181
+ originalSize,
182
+ optimizedSize,
183
+ reduction: `${reductionPercent.toFixed(1)}%`,
184
+ format,
185
+ });
186
+ return {
187
+ optimizedPath,
188
+ originalPath: keepOriginal ? originalPath : inputPath,
189
+ optimized: true,
190
+ originalSize,
191
+ optimizedSize,
192
+ reductionPercent,
193
+ format,
194
+ };
195
+ }
196
+ catch (error) {
197
+ logger.error('Image optimization failed, using original', {
198
+ path: inputPath,
199
+ error: error instanceof Error ? error.message : 'Unknown error',
200
+ });
201
+ // On error, return original path
202
+ return {
203
+ optimizedPath: inputPath,
204
+ originalPath: inputPath,
205
+ optimized: false,
206
+ originalSize,
207
+ optimizedSize: originalSize,
208
+ reductionPercent: 0,
209
+ format: path.extname(inputPath).slice(1) || 'unknown',
210
+ };
211
+ }
212
+ }
213
+ /**
214
+ * Check if image optimization is available
215
+ */
216
+ export async function isOptimizationAvailable() {
217
+ return await initializeSharp();
218
+ }
219
+ /**
220
+ * Get optimization statistics
221
+ */
222
+ export function getOptimizationStats(results) {
223
+ const totalOriginalSize = results.reduce((sum, r) => sum + r.originalSize, 0);
224
+ const totalOptimizedSize = results.reduce((sum, r) => sum + r.optimizedSize, 0);
225
+ const totalReduction = totalOriginalSize - totalOptimizedSize;
226
+ const optimizedCount = results.filter(r => r.optimized).length;
227
+ const averageReduction = optimizedCount > 0
228
+ ? results
229
+ .filter(r => r.optimized)
230
+ .reduce((sum, r) => sum + r.reductionPercent, 0) / optimizedCount
231
+ : 0;
232
+ return {
233
+ totalOriginalSize,
234
+ totalOptimizedSize,
235
+ totalReduction,
236
+ averageReduction,
237
+ optimizedCount,
238
+ totalCount: results.length,
239
+ };
240
+ }
241
+ //# sourceMappingURL=image-optimizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-optimizer.js","sourceRoot":"","sources":["../../src/utils/image-optimizer.ts"],"names":[],"mappings":"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"}
@@ -8,4 +8,5 @@ export * from './http-client.js';
8
8
  export * from './config-manager.js';
9
9
  export * from './validation.js';
10
10
  export * from './pricing-checker.js';
11
+ export * from './image-optimizer.js';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC"}
@@ -8,4 +8,5 @@ export * from './http-client.js';
8
8
  export * from './config-manager.js';
9
9
  export * from './validation.js';
10
10
  export * from './pricing-checker.js';
11
+ export * from './image-optimizer.js';
11
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-orchestrator.d.ts","sourceRoot":"","sources":["../../src/workflow/workflow-orchestrator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EACL,cAAc,EACd,SAAS,EAET,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAI3B,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,YAAY,CAAgB;gBAExB,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc;IAK9D;;OAEG;IACG,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAoDnD;;OAEG;IACH,KAAK,IAAI,IAAI;IAOb;;OAEG;IACH,MAAM,IAAI,IAAI;IAOd;;OAEG;IACH,IAAI,IAAI,IAAI;IAMZ;;OAEG;IACH,WAAW,IAAI,kBAAkB;IA+DjC;;OAEG;YACW,kBAAkB;IA0BhC;;OAEG;YACW,YAAY;IAsC1B;;OAEG;YACW,WAAW;IAiDzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;IACH,OAAO,CAAC,WAAW;IAuCnB;;OAEG;YACW,UAAU;CAwCzB"}
1
+ {"version":3,"file":"workflow-orchestrator.d.ts","sourceRoot":"","sources":["../../src/workflow/workflow-orchestrator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EACL,cAAc,EACd,SAAS,EAET,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAI3B,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,YAAY,CAAgB;gBAExB,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc;IAK9D;;OAEG;IACG,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAoDnD;;OAEG;IACH,KAAK,IAAI,IAAI;IAOb;;OAEG;IACH,MAAM,IAAI,IAAI;IAOd;;OAEG;IACH,IAAI,IAAI,IAAI;IAMZ;;OAEG;IACH,WAAW,IAAI,kBAAkB;IA+DjC;;OAEG;YACW,kBAAkB;IA0BhC;;OAEG;YACW,YAAY;IAsC1B;;OAEG;YACW,WAAW;IAiDzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;IACH,OAAO,CAAC,WAAW;IAuCnB;;OAEG;YACW,UAAU;CA4EzB"}
@@ -3,7 +3,7 @@
3
3
  * Manages image generation workflows
4
4
  */
5
5
  import { providerFactory } from '../providers/index.js';
6
- import { logger } from '../utils/index.js';
6
+ import { logger, optimizeImage } from '../utils/index.js';
7
7
  import { v4 as uuidv4 } from 'uuid';
8
8
  export class WorkflowOrchestrator {
9
9
  stateManager;
@@ -305,6 +305,39 @@ export class WorkflowOrchestrator {
305
305
  const provider = providerFactory.getProvider(job.provider);
306
306
  // Generate image
307
307
  const result = await provider.generate(job.imageSpec);
308
+ // Optimize image for web use (works with all providers)
309
+ logger.debug('Optimizing generated image', {
310
+ imageId: job.imageSpec.id,
311
+ originalPath: result.filepath,
312
+ });
313
+ try {
314
+ const optimizationResult = await optimizeImage(result.filepath);
315
+ // Update result with optimized path and metadata
316
+ result.filepath = optimizationResult.optimizedPath;
317
+ result.metadata.fileSize = optimizationResult.optimizedSize;
318
+ result.metadata.format = optimizationResult.format;
319
+ result.metadata.optimization = {
320
+ optimized: optimizationResult.optimized,
321
+ originalPath: optimizationResult.originalPath,
322
+ originalSize: optimizationResult.originalSize,
323
+ reduction: optimizationResult.reductionPercent,
324
+ };
325
+ if (optimizationResult.optimized) {
326
+ logger.info('Image optimized successfully', {
327
+ imageId: job.imageSpec.id,
328
+ originalSize: `${(optimizationResult.originalSize / 1024).toFixed(1)} KB`,
329
+ optimizedSize: `${(optimizationResult.optimizedSize / 1024).toFixed(1)} KB`,
330
+ reduction: `${optimizationResult.reductionPercent.toFixed(1)}%`,
331
+ });
332
+ }
333
+ }
334
+ catch (optimizationError) {
335
+ logger.warn('Image optimization failed, using original', {
336
+ imageId: job.imageSpec.id,
337
+ error: optimizationError.message,
338
+ });
339
+ // Continue with original - no need to fail the job
340
+ }
308
341
  // Update job with result
309
342
  this.stateManager.updateJobStatus(job.id, 'completed', undefined, result);
310
343
  // Track completed image
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-orchestrator.js","sourceRoot":"","sources":["../../src/workflow/workflow-orchestrator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAOxD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,MAAM,OAAO,oBAAoB;IACvB,YAAY,CAAe;IAC3B,MAAM,CAAiB;IACvB,SAAS,GAAY,KAAK,CAAC;IAC3B,QAAQ,GAAY,KAAK,CAAC;IAC1B,SAAS,CAAU;IACnB,eAAe,GAAa,EAAE,CAAC;IAC/B,YAAY,GAAa,EAAE,CAAC;IAEpC,YAAY,YAA0B,EAAE,MAAsB;QAC5D,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,UAAuB;QACjC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAEvB,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC/B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,UAAU,EAAE,UAAU,CAAC,MAAM;YAC7B,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC;SAC1C,CAAC,CAAC;QAEH,kCAAkC;QAClC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAkB;gBACzB,EAAE,EAAE,MAAM,EAAE;gBACZ,SAAS,EAAE,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,WAAW;gBACpD,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE,CAAC;gBACX,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB,CAAC;YAEF,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAE/B,6BAA6B;QAC7B,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACzB,KAAK,aAAa;gBAChB,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAChC,MAAM;YACR,KAAK,OAAO;gBACV,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC1B,MAAM;YACR,KAAK,MAAM;gBACT,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBACzB,MAAM;QACV,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAE5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAE5B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,WAAW;QACT,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC;QACtC,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;QAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;QACzC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;QAEjD,+BAA+B;QAC/B,IAAI,WAA+B,CAAC;QACpC,IAAI,mBAAuC,CAAC;QAC5C,IAAI,sBAA0C,CAAC;QAE/C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;YAE1C,MAAM,cAAc,GAAG,SAAS,GAAG,MAAM,CAAC;YAC1C,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;gBACvB,mBAAmB,GAAG,WAAW,GAAG,cAAc,CAAC;gBACnD,MAAM,eAAe,GAAG,KAAK,GAAG,cAAc,CAAC;gBAC/C,sBAAsB,GAAG,mBAAmB,GAAG,eAAe,CAAC;YACjE,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,gBAAoC,CAAC;QACzC,IAAI,eAAmC,CAAC;QAExC,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,cAAc,CAAC,CAAC;YACtF,IAAI,UAAU,EAAE,CAAC;gBACf,gBAAgB,GAAG,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,IAAI,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC;gBACvF,eAAe,GAAG,UAAU,CAAC,QAAQ,CAAC;YACxC,CAAC;QACH,CAAC;QAED,+BAA+B;QAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAE/D,uCAAuC;QACvC,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjD,OAAO;YACL,KAAK;YACL,SAAS;YACT,MAAM;YACN,OAAO;YACP,UAAU;YACV,YAAY,EAAE,cAAc;YAC5B,gBAAgB;YAChB,eAAe;YACf,WAAW;YACX,mBAAmB;YACnB,sBAAsB;YACtB,WAAW;YACX,eAAe;YACf,YAAY;SACb,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB;QAC9B,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAE3C,uBAAuB;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;YAC3C,IAAI,CAAC,GAAG;gBAAE,MAAM;YAEhB,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAE3B,gCAAgC;YAChC,IAAI,CAAC,WAAW,EAAE,CAAC;YAEnB,iGAAiG;YACjG,wBAAwB;YACxB,GAAG,CAAC,MAAM,GAAG,UAAU,CAAC;YACxB,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAC9E,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACjC,CAAC;QAED,qBAAqB;QACrB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,sCAAsC,SAAS,GAAG,CAAC,CAAC;QAEhE,MAAM,OAAO,GAAsB,EAAE,CAAC;QACtC,MAAM,OAAO,GAAoB,EAAE,CAAC;QAEpC,2BAA2B;QAC3B,IAAI,GAAG,CAAC;QACR,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;QAED,qBAAqB;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,uBAAuB;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,qBAAqB;QACrB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS;gBAAE,MAAM;YAE5C,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAE/B,gCAAgC;YAChC,IAAI,CAAC,WAAW,EAAE,CAAC;YAEnB,kDAAkD;QACpD,CAAC;QAED,qBAAqB;QACrB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,sCAAsC,WAAW,GAAG,CAAC,CAAC;QAElE,MAAM,UAAU,GAAoB,EAAE,CAAC;QAEvC,uBAAuB;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACxC,4BAA4B;YAC5B,MAAM,cAAc,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;YAClE,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC1B,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YACvC,CAAC;YAED,uCAAuC;YACvC,OAAO,UAAU,CAAC,MAAM,GAAG,WAAW,EAAE,CAAC;gBACvC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;gBAC3C,IAAI,CAAC,GAAG;oBAAE,MAAM;gBAEhB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;oBAC7C,6BAA6B;oBAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBAC1C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;wBACjB,UAAU,CAAC,KAAK,CAAC,GAAG,SAAgB,CAAC;oBACvC,CAAC;oBAED,wCAAwC;oBACxC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,CAAC,CAAC,CAAC;gBAEH,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;YAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM;YAEnC,oCAAoC;YACpC,MAAM,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACjC,CAAC;QAED,yBAAyB;QACzB,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC;QAE3D,qBAAqB;QACrB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,SAAiB,EAAE,KAAa;QAC1D,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,6BAA6B,CAAC;QAEtD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC;QACjE,MAAM,WAAW,GAAG,SAAS,GAAG,YAAY,CAAC;QAE7C,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAEzC,OAAO,IAAI,SAAS,GAAG,QAAQ,KAAK,SAAS,IAAI,KAAK,KAAK,UAAU,IAAI,CAAC;IAC5E,CAAC;IAED;;OAEG;IACK,WAAW;QACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEpC,4BAA4B;QAC5B,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;YACxD,UAAU,GAAG,YAAY,OAAO,GAAG,CAAC;YAEpC,IAAI,QAAQ,CAAC,mBAAmB,EAAE,CAAC;gBACjC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;gBAChE,UAAU,IAAI,WAAW,OAAO,SAAS,CAAC;YAC5C,CAAC;YAED,IAAI,QAAQ,CAAC,sBAAsB,EAAE,CAAC;gBACpC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;gBACrE,UAAU,IAAI,WAAW,SAAS,GAAG,CAAC;YACxC,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YACvD,WAAW,GAAG,YAAY,QAAQ,CAAC,gBAAgB,KAAK,QAAQ,CAAC,eAAe,IAAI,SAAS,GAAG,CAAC;QACnG,CAAC;QAED,gCAAgC;QAChC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;YACjC,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,WAAW;YACX,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,UAAU,CAAC,GAAkB;QACzC,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;YAE5E,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;YAExD,eAAe;YACf,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAE3D,iBAAiB;YACjB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAEtD,yBAAyB;YACzB,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YAE1E,wBAAwB;YACxB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAE5C,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE;gBACxC,KAAK,EAAE,GAAG,CAAC,EAAE;gBACb,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE;gBACzB,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU;aACjC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE;gBACzB,KAAK,EAAE,GAAG,CAAC,EAAE;gBACb,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE;gBACzB,KAAK,EAAE,KAAK,CAAC,OAAO;aACrB,CAAC,CAAC;YAEH,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAEnE,qBAAqB;YACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAEzC,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;gBAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"workflow-orchestrator.js","sourceRoot":"","sources":["../../src/workflow/workflow-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ # User Guides
2
+
3
+ This directory contains user-facing documentation and guides for Visual Forge MCP.
4
+
5
+ ## Available Guides
6
+
7
+ - **[testing.md](testing.md)** - Manual testing guide for MCP tools
8
+ - **[development-testing.md](development-testing.md)** - Developer testing guide with test strategies
9
+ - **[vf-workflow.md](vf-workflow.md)** - Quick reference for VF Parse workflow
10
+ - **[usage-examples.md](usage-examples.md)** - Example markdown files and usage patterns
11
+ - **[html-support.md](html-support.md)** - HTML file format support documentation
12
+ - **[backup-system.md](backup-system.md)** - Backup and restore system guide
13
+ - **[workflow-with-backups.md](workflow-with-backups.md)** - Complete workflow with backup integration
14
+
15
+ ## Quick Start
16
+
17
+ For first-time users, start with:
18
+ 1. [usage-examples.md](usage-examples.md) - See how to define images
19
+ 2. [vf-workflow.md](vf-workflow.md) - Understand the workflow
20
+ 3. [testing.md](testing.md) - Test your setup
21
+
22
+ ## For Developers
23
+
24
+ See [development-testing.md](development-testing.md) for comprehensive testing strategies and development workflows.