@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.
- package/CHANGELOG.md +814 -0
- package/dist/types/generation.d.ts +7 -1
- package/dist/types/generation.d.ts.map +1 -1
- package/dist/utils/image-optimizer.d.ts +91 -0
- package/dist/utils/image-optimizer.d.ts.map +1 -0
- package/dist/utils/image-optimizer.js +241 -0
- package/dist/utils/image-optimizer.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/workflow/workflow-orchestrator.d.ts.map +1 -1
- package/dist/workflow/workflow-orchestrator.js +34 -1
- package/dist/workflow/workflow-orchestrator.js.map +1 -1
- package/docs/guides/README.md +24 -0
- package/docs/guides/backup-system-flow.md +511 -0
- package/docs/guides/backup-system.md +688 -0
- package/docs/guides/development-testing.md +338 -0
- package/docs/guides/html-support.md +548 -0
- package/docs/guides/image-optimization.md +370 -0
- package/docs/guides/testing.md +279 -0
- package/docs/guides/usage-examples.md +101 -0
- package/docs/guides/vf-workflow.md +112 -0
- package/docs/guides/workflow-with-backups.md +471 -0
- package/package.json +15 -3
- package/dist/.gitkeep +0 -0
|
@@ -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;
|
|
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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"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -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"}
|
package/dist/utils/index.js
CHANGED
package/dist/utils/index.js.map
CHANGED
|
@@ -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;
|
|
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":"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"}
|
|
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.
|