@michelabboud/visual-forge-mcp 0.6.0 → 0.7.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 (68) hide show
  1. package/CHANGELOG.md +403 -2
  2. package/README.md +88 -5
  3. package/config/pricing.json +1 -1
  4. package/dist/parser/markdown-parser.d.ts +2 -0
  5. package/dist/parser/markdown-parser.d.ts.map +1 -1
  6. package/dist/parser/markdown-parser.js +23 -10
  7. package/dist/parser/markdown-parser.js.map +1 -1
  8. package/dist/placeholders/placeholder-manager.d.ts +8 -0
  9. package/dist/placeholders/placeholder-manager.d.ts.map +1 -1
  10. package/dist/placeholders/placeholder-manager.js +71 -18
  11. package/dist/placeholders/placeholder-manager.js.map +1 -1
  12. package/dist/providers/base-provider.d.ts +13 -0
  13. package/dist/providers/base-provider.d.ts.map +1 -1
  14. package/dist/providers/base-provider.js +263 -17
  15. package/dist/providers/base-provider.js.map +1 -1
  16. package/dist/providers/gemini/gemini-provider.d.ts.map +1 -1
  17. package/dist/providers/gemini/gemini-provider.js +3 -7
  18. package/dist/providers/gemini/gemini-provider.js.map +1 -1
  19. package/dist/providers/index.d.ts.map +1 -1
  20. package/dist/providers/index.js +5 -1
  21. package/dist/providers/index.js.map +1 -1
  22. package/dist/server/mcp-server.d.ts.map +1 -1
  23. package/dist/server/mcp-server.js +4 -1
  24. package/dist/server/mcp-server.js.map +1 -1
  25. package/dist/utils/filename-sanitizer.d.ts +85 -0
  26. package/dist/utils/filename-sanitizer.d.ts.map +1 -0
  27. package/dist/utils/filename-sanitizer.js +156 -0
  28. package/dist/utils/filename-sanitizer.js.map +1 -0
  29. package/dist/utils/image-metadata-manager.d.ts +151 -0
  30. package/dist/utils/image-metadata-manager.d.ts.map +1 -0
  31. package/dist/utils/image-metadata-manager.js +172 -0
  32. package/dist/utils/image-metadata-manager.js.map +1 -0
  33. package/dist/utils/index-manager.d.ts +38 -0
  34. package/dist/utils/index-manager.d.ts.map +1 -0
  35. package/dist/utils/index-manager.js +110 -0
  36. package/dist/utils/index-manager.js.map +1 -0
  37. package/dist/utils/index.d.ts +5 -0
  38. package/dist/utils/index.d.ts.map +1 -1
  39. package/dist/utils/index.js +5 -0
  40. package/dist/utils/index.js.map +1 -1
  41. package/dist/utils/multi-format-optimizer.d.ts +96 -0
  42. package/dist/utils/multi-format-optimizer.d.ts.map +1 -0
  43. package/dist/utils/multi-format-optimizer.js +423 -0
  44. package/dist/utils/multi-format-optimizer.js.map +1 -0
  45. package/dist/utils/pricing-checker.d.ts.map +1 -1
  46. package/dist/utils/pricing-checker.js +3 -5
  47. package/dist/utils/pricing-checker.js.map +1 -1
  48. package/dist/utils/prompt-enhancer.d.ts +48 -0
  49. package/dist/utils/prompt-enhancer.d.ts.map +1 -0
  50. package/dist/utils/prompt-enhancer.js +169 -0
  51. package/dist/utils/prompt-enhancer.js.map +1 -0
  52. package/dist/utils/quality-validator.d.ts +61 -0
  53. package/dist/utils/quality-validator.d.ts.map +1 -0
  54. package/dist/utils/quality-validator.js +386 -0
  55. package/dist/utils/quality-validator.js.map +1 -0
  56. package/dist/utils/source-metadata.d.ts +56 -0
  57. package/dist/utils/source-metadata.d.ts.map +1 -0
  58. package/dist/utils/source-metadata.js +122 -0
  59. package/dist/utils/source-metadata.js.map +1 -0
  60. package/dist/workflow/workflow-orchestrator.d.ts.map +1 -1
  61. package/dist/workflow/workflow-orchestrator.js +23 -0
  62. package/dist/workflow/workflow-orchestrator.js.map +1 -1
  63. package/dist/workflow/workflow-tools.d.ts.map +1 -1
  64. package/dist/workflow/workflow-tools.js +18 -0
  65. package/dist/workflow/workflow-tools.js.map +1 -1
  66. package/docs/guides/provider-setup.md +543 -0
  67. package/package.json +2 -2
  68. package/scripts/README.md +460 -0
@@ -0,0 +1,423 @@
1
+ /**
2
+ * Multi-Format Image Optimizer with Watermarking
3
+ * Generates multiple optimized formats from a single source image
4
+ *
5
+ * Formats:
6
+ * - WebP: For web use (watermarked, high compression)
7
+ * - JPEG: For PDF export (watermarked, universal compatibility)
8
+ * - PNG: Optional, for specific use cases (watermarked)
9
+ * - Original: Pristine backup (NO watermark)
10
+ *
11
+ * Directory structure:
12
+ * {provider}/
13
+ * ├── original/
14
+ * │ ├── img-01.png (NO watermark)
15
+ * │ ├── img-01.meta.json
16
+ * │ └── img-01.log
17
+ * ├── webp/
18
+ * │ └── img-01.webp (watermarked)
19
+ * ├── jpg/
20
+ * │ └── img-01.jpg (watermarked)
21
+ * └── png/
22
+ * └── img-01.png (watermarked, optional)
23
+ */
24
+ import * as fs from 'fs/promises';
25
+ import * as path from 'path';
26
+ import { logger } from './logger.js';
27
+ import { createFormatPath } from './filename-sanitizer.js';
28
+ // Dynamic import of Sharp
29
+ let sharp = null;
30
+ let sharpAvailable = false;
31
+ /**
32
+ * Initialize Sharp library
33
+ */
34
+ async function initializeSharp() {
35
+ if (sharp !== null) {
36
+ return sharpAvailable;
37
+ }
38
+ try {
39
+ sharp = (await import('sharp')).default;
40
+ sharpAvailable = true;
41
+ logger.info('Sharp library loaded - multi-format optimization enabled');
42
+ return true;
43
+ }
44
+ catch (error) {
45
+ sharpAvailable = false;
46
+ logger.warn('Sharp library not available - multi-format optimization disabled', {
47
+ error: error instanceof Error ? error.message : 'Unknown error',
48
+ });
49
+ return false;
50
+ }
51
+ }
52
+ /**
53
+ * Default watermark configuration
54
+ */
55
+ const DEFAULT_WATERMARK = {
56
+ text: 'Generated with Visual Forge MCP ©',
57
+ position: 'bottom-right',
58
+ opacity: 30,
59
+ fontSize: 12,
60
+ color: '#666666',
61
+ fontFamily: 'Arial',
62
+ };
63
+ /**
64
+ * Create SVG watermark overlay
65
+ */
66
+ function createWatermarkSVG(config, imageWidth, imageHeight) {
67
+ const padding = 10;
68
+ let x;
69
+ let y;
70
+ let anchor;
71
+ switch (config.position) {
72
+ case 'bottom-right':
73
+ x = imageWidth - padding;
74
+ y = imageHeight - padding;
75
+ anchor = 'end';
76
+ break;
77
+ case 'bottom-left':
78
+ x = padding;
79
+ y = imageHeight - padding;
80
+ anchor = 'start';
81
+ break;
82
+ case 'top-right':
83
+ x = imageWidth - padding;
84
+ y = padding + config.fontSize;
85
+ anchor = 'end';
86
+ break;
87
+ case 'top-left':
88
+ x = padding;
89
+ y = padding + config.fontSize;
90
+ anchor = 'start';
91
+ break;
92
+ case 'center':
93
+ x = imageWidth / 2;
94
+ y = imageHeight / 2;
95
+ anchor = 'middle';
96
+ break;
97
+ }
98
+ const opacityDecimal = config.opacity / 100;
99
+ return `
100
+ <svg width="${imageWidth}" height="${imageHeight}">
101
+ <text
102
+ x="${x}"
103
+ y="${y}"
104
+ font-family="${config.fontFamily || 'Arial'}"
105
+ font-size="${config.fontSize}"
106
+ fill="${config.color}"
107
+ fill-opacity="${opacityDecimal}"
108
+ text-anchor="${anchor}"
109
+ >
110
+ ${config.text}
111
+ </text>
112
+ </svg>
113
+ `;
114
+ }
115
+ /**
116
+ * Optimize image to multiple formats with optional watermarking
117
+ *
118
+ * @param originalImagePath - Path to the original generated image (in provider root)
119
+ * @param sourceFile - Original source markdown file path
120
+ * @param imageId - Image identifier
121
+ * @param provider - Provider name
122
+ * @param options - Multi-format optimization options
123
+ * @returns Multi-format optimization result
124
+ */
125
+ export async function optimizeToMultipleFormats(originalImagePath, sourceFile, imageId, provider, options = {}) {
126
+ // Default options
127
+ const { generateWebP = true, generateJPEG = true, generatePNG = false, webpQuality = 85, jpegQuality = 90, pngQuality = 85, pngCompressionLevel = 9, pngUsePalette = true, pngColors = 256, pngDither = 1.0, maxWidth = 1920, maxHeight = 1920, watermark = DEFAULT_WATERMARK, skipWatermark = false, } = options;
128
+ const formats = [];
129
+ // Check if Sharp is available
130
+ const isSharpAvailable = await initializeSharp();
131
+ if (!isSharpAvailable || !sharp) {
132
+ logger.warn('Sharp not available - skipping multi-format optimization', {
133
+ originalImagePath,
134
+ });
135
+ // Get original file size
136
+ const originalStats = await fs.stat(originalImagePath);
137
+ const originalSize = originalStats.size;
138
+ return {
139
+ sourceFile,
140
+ imageId,
141
+ provider,
142
+ originalPath: originalImagePath,
143
+ originalSize,
144
+ formats: [
145
+ {
146
+ format: 'original',
147
+ path: originalImagePath,
148
+ size: originalSize,
149
+ watermarked: false,
150
+ },
151
+ ],
152
+ totalOptimizedSize: 0,
153
+ watermarkApplied: false,
154
+ sharpAvailable: false,
155
+ };
156
+ }
157
+ try {
158
+ logger.info('Starting multi-format optimization', {
159
+ imageId,
160
+ formats: {
161
+ webp: generateWebP,
162
+ jpeg: generateJPEG,
163
+ png: generatePNG,
164
+ },
165
+ watermark: !skipWatermark,
166
+ });
167
+ // Get original file stats
168
+ const originalStats = await fs.stat(originalImagePath);
169
+ const originalSize = originalStats.size;
170
+ // Load original image with Sharp
171
+ const sharpInstance = sharp(originalImagePath);
172
+ const metadata = await sharpInstance.metadata();
173
+ logger.debug('Original image metadata', {
174
+ width: metadata.width,
175
+ height: metadata.height,
176
+ format: metadata.format,
177
+ size: originalSize,
178
+ });
179
+ // Create original/ directory and move pristine original there
180
+ const originalPath = await createFormatPath(sourceFile, provider, 'original', imageId, 'png');
181
+ const originalDir = path.dirname(originalPath);
182
+ await fs.mkdir(originalDir, { recursive: true });
183
+ await fs.copyFile(originalImagePath, originalPath);
184
+ logger.info('Pristine original saved (no watermark)', {
185
+ path: originalPath,
186
+ size: originalSize,
187
+ });
188
+ formats.push({
189
+ format: 'original',
190
+ path: originalPath,
191
+ size: originalSize,
192
+ watermarked: false,
193
+ });
194
+ // Prepare base pipeline with resize if needed
195
+ let basePipeline = sharp(originalImagePath);
196
+ const imageWidth = metadata.width || 1920;
197
+ const imageHeight = metadata.height || 1920;
198
+ if (imageWidth > maxWidth || imageHeight > maxHeight) {
199
+ basePipeline = basePipeline.resize(maxWidth, maxHeight, {
200
+ fit: 'inside',
201
+ withoutEnlargement: true,
202
+ });
203
+ logger.debug('Image will be resized', { maxWidth, maxHeight });
204
+ }
205
+ // Create watermark SVG if watermarking is enabled
206
+ let watermarkBuffer;
207
+ if (!skipWatermark) {
208
+ const watermarkSVG = createWatermarkSVG(watermark, imageWidth, imageHeight);
209
+ watermarkBuffer = Buffer.from(watermarkSVG);
210
+ logger.debug('Watermark created', {
211
+ text: watermark.text,
212
+ position: watermark.position,
213
+ opacity: watermark.opacity,
214
+ });
215
+ }
216
+ // Generate WebP
217
+ if (generateWebP) {
218
+ const webpPath = await createFormatPath(sourceFile, provider, 'webp', imageId, 'webp');
219
+ const webpDir = path.dirname(webpPath);
220
+ await fs.mkdir(webpDir, { recursive: true });
221
+ let webpPipeline = sharp(originalImagePath);
222
+ // Resize if needed
223
+ if (imageWidth > maxWidth || imageHeight > maxHeight) {
224
+ webpPipeline = webpPipeline.resize(maxWidth, maxHeight, {
225
+ fit: 'inside',
226
+ withoutEnlargement: true,
227
+ });
228
+ }
229
+ // Apply watermark
230
+ if (!skipWatermark && watermarkBuffer) {
231
+ webpPipeline = webpPipeline.composite([
232
+ {
233
+ input: watermarkBuffer,
234
+ blend: 'over',
235
+ },
236
+ ]);
237
+ }
238
+ // Convert to WebP
239
+ await webpPipeline.webp({ quality: webpQuality, effort: 6 }).toFile(webpPath);
240
+ const webpStats = await fs.stat(webpPath);
241
+ const webpSize = webpStats.size;
242
+ logger.info('WebP generated', {
243
+ path: webpPath,
244
+ size: webpSize,
245
+ reduction: `${(((originalSize - webpSize) / originalSize) * 100).toFixed(1)}%`,
246
+ });
247
+ formats.push({
248
+ format: 'webp',
249
+ path: webpPath,
250
+ size: webpSize,
251
+ watermarked: !skipWatermark,
252
+ });
253
+ }
254
+ // Generate JPEG
255
+ if (generateJPEG) {
256
+ const jpegPath = await createFormatPath(sourceFile, provider, 'jpg', imageId, 'jpg');
257
+ const jpegDir = path.dirname(jpegPath);
258
+ await fs.mkdir(jpegDir, { recursive: true });
259
+ let jpegPipeline = sharp(originalImagePath);
260
+ // Resize if needed
261
+ if (imageWidth > maxWidth || imageHeight > maxHeight) {
262
+ jpegPipeline = jpegPipeline.resize(maxWidth, maxHeight, {
263
+ fit: 'inside',
264
+ withoutEnlargement: true,
265
+ });
266
+ }
267
+ // Apply watermark
268
+ if (!skipWatermark && watermarkBuffer) {
269
+ jpegPipeline = jpegPipeline.composite([
270
+ {
271
+ input: watermarkBuffer,
272
+ blend: 'over',
273
+ },
274
+ ]);
275
+ }
276
+ // Convert to JPEG
277
+ await jpegPipeline.jpeg({ quality: jpegQuality, mozjpeg: true }).toFile(jpegPath);
278
+ const jpegStats = await fs.stat(jpegPath);
279
+ const jpegSize = jpegStats.size;
280
+ logger.info('JPEG generated', {
281
+ path: jpegPath,
282
+ size: jpegSize,
283
+ reduction: `${(((originalSize - jpegSize) / originalSize) * 100).toFixed(1)}%`,
284
+ });
285
+ formats.push({
286
+ format: 'jpg',
287
+ path: jpegPath,
288
+ size: jpegSize,
289
+ watermarked: !skipWatermark,
290
+ });
291
+ }
292
+ // Generate PNG (optional, watermarked)
293
+ if (generatePNG) {
294
+ const pngPath = await createFormatPath(sourceFile, provider, 'png', imageId, 'png');
295
+ const pngDir = path.dirname(pngPath);
296
+ await fs.mkdir(pngDir, { recursive: true });
297
+ let pngPipeline = sharp(originalImagePath);
298
+ // Resize if needed
299
+ if (imageWidth > maxWidth || imageHeight > maxHeight) {
300
+ pngPipeline = pngPipeline.resize(maxWidth, maxHeight, {
301
+ fit: 'inside',
302
+ withoutEnlargement: true,
303
+ });
304
+ }
305
+ // Apply watermark
306
+ if (!skipWatermark && watermarkBuffer) {
307
+ pngPipeline = pngPipeline.composite([
308
+ {
309
+ input: watermarkBuffer,
310
+ blend: 'over',
311
+ },
312
+ ]);
313
+ }
314
+ // Convert to PNG with lossy or lossless optimization
315
+ if (pngUsePalette) {
316
+ // Lossy optimization with palette (70% size reduction)
317
+ await pngPipeline
318
+ .png({
319
+ quality: pngQuality,
320
+ palette: true,
321
+ compressionLevel: pngCompressionLevel,
322
+ colors: pngColors,
323
+ dither: pngDither,
324
+ })
325
+ .toFile(pngPath);
326
+ logger.debug('PNG lossy optimization applied', {
327
+ quality: pngQuality,
328
+ colors: pngColors,
329
+ dither: pngDither,
330
+ });
331
+ }
332
+ else {
333
+ // Lossless optimization (15% size reduction)
334
+ await pngPipeline
335
+ .png({ compressionLevel: pngCompressionLevel, adaptiveFiltering: true })
336
+ .toFile(pngPath);
337
+ logger.debug('PNG lossless optimization applied', {
338
+ compressionLevel: pngCompressionLevel,
339
+ });
340
+ }
341
+ const pngStats = await fs.stat(pngPath);
342
+ const pngSize = pngStats.size;
343
+ logger.info('PNG (watermarked, optimized) generated', {
344
+ path: pngPath,
345
+ size: pngSize,
346
+ mode: pngUsePalette ? 'lossy' : 'lossless',
347
+ reduction: `${(((originalSize - pngSize) / originalSize) * 100).toFixed(1)}%`,
348
+ });
349
+ formats.push({
350
+ format: 'png',
351
+ path: pngPath,
352
+ size: pngSize,
353
+ watermarked: !skipWatermark,
354
+ });
355
+ }
356
+ // Remove original from provider root (it's now in original/ subdirectory)
357
+ if (originalImagePath !== originalPath) {
358
+ await fs.unlink(originalImagePath);
359
+ logger.debug('Removed original from provider root', { path: originalImagePath });
360
+ }
361
+ // Calculate total optimized size (excluding original)
362
+ const totalOptimizedSize = formats
363
+ .filter(f => f.format !== 'original')
364
+ .reduce((sum, f) => sum + f.size, 0);
365
+ logger.info('Multi-format optimization complete', {
366
+ imageId,
367
+ originalSize,
368
+ totalOptimizedSize,
369
+ formats: formats.map(f => f.format),
370
+ watermarkApplied: !skipWatermark,
371
+ });
372
+ return {
373
+ sourceFile,
374
+ imageId,
375
+ provider,
376
+ originalPath,
377
+ originalSize,
378
+ formats,
379
+ totalOptimizedSize,
380
+ watermarkApplied: !skipWatermark,
381
+ sharpAvailable: true,
382
+ };
383
+ }
384
+ catch (error) {
385
+ logger.error('Multi-format optimization failed', {
386
+ imageId,
387
+ error: error instanceof Error ? error.message : 'Unknown error',
388
+ });
389
+ // On error, keep original and return minimal result
390
+ const originalStats = await fs.stat(originalImagePath);
391
+ return {
392
+ sourceFile,
393
+ imageId,
394
+ provider,
395
+ originalPath: originalImagePath,
396
+ originalSize: originalStats.size,
397
+ formats: [
398
+ {
399
+ format: 'original',
400
+ path: originalImagePath,
401
+ size: originalStats.size,
402
+ watermarked: false,
403
+ },
404
+ ],
405
+ totalOptimizedSize: 0,
406
+ watermarkApplied: false,
407
+ sharpAvailable: true,
408
+ };
409
+ }
410
+ }
411
+ /**
412
+ * Check if multi-format optimization is available
413
+ */
414
+ export async function isMultiFormatOptimizationAvailable() {
415
+ return await initializeSharp();
416
+ }
417
+ /**
418
+ * Get default watermark configuration
419
+ */
420
+ export function getDefaultWatermark() {
421
+ return { ...DEFAULT_WATERMARK };
422
+ }
423
+ //# sourceMappingURL=multi-format-optimizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-format-optimizer.js","sourceRoot":"","sources":["../../src/utils/multi-format-optimizer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pricing-checker.d.ts","sourceRoot":"","sources":["../../src/utils/pricing-checker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,cAAc,EAAE,GAAG,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAA8B;IAE5C;;OAEG;IACH,OAAO,CAAC,WAAW;IAUnB;;OAEG;IACH,OAAO,CAAC,WAAW;IAQnB;;OAEG;IACH,aAAa,IAAI,IAAI;IAWrB;;OAEG;IACH,qBAAqB,IAAI;QACvB,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B;IA8BD;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA+BnC;;OAEG;IACH,iBAAiB,IAAI;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;QACxE,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB;CAqCF;AAGD,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
1
+ {"version":3,"file":"pricing-checker.d.ts","sourceRoot":"","sources":["../../src/utils/pricing-checker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,cAAc,EAAE,GAAG,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAA8B;IAE5C;;OAEG;IACH,OAAO,CAAC,WAAW;IAUnB;;OAEG;IACH,OAAO,CAAC,WAAW;IAQnB;;OAEG;IACH,aAAa,IAAI,IAAI;IAWrB;;OAEG;IACH,qBAAqB,IAAI;QACvB,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B;IA8BD;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA+BnC;;OAEG;IACH,iBAAiB,IAAI;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;QACxE,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB;CAqCF;AAGD,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
@@ -3,12 +3,10 @@
3
3
  * Monitors pricing configuration freshness and reminds users to update
4
4
  */
5
5
  import { readFileSync, writeFileSync } from 'fs';
6
- import { join, dirname } from 'path';
7
- import { fileURLToPath } from 'url';
6
+ import { join } from 'path';
8
7
  import { logger } from './logger.js';
9
- const __filename = fileURLToPath(import.meta.url);
10
- const __dirname = dirname(__filename);
11
- const PRICING_FILE = join(__dirname, '../../config/pricing.json');
8
+ // Use relative path from project root (works in both test and production)
9
+ const PRICING_FILE = join(process.cwd(), 'config/pricing.json');
12
10
  const CHECK_INTERVAL_HOURS = 24;
13
11
  export class PricingChecker {
14
12
  config = null;
@@ -1 +1 @@
1
- {"version":3,"file":"pricing-checker.js","sourceRoot":"","sources":["../../src/utils/pricing-checker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pricing-checker.js","sourceRoot":"","sources":["../../src/utils/pricing-checker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Prompt Enhancer - Enhances prompts to minimize AI text rendering errors
3
+ * Adds specific instructions to reduce gibberish and improve quality
4
+ */
5
+ /**
6
+ * Prompt enhancement configuration
7
+ */
8
+ export interface PromptEnhancementConfig {
9
+ preventText?: boolean;
10
+ preventLabels?: boolean;
11
+ addQualityInstructions?: boolean;
12
+ addStyleInstructions?: boolean;
13
+ customPrefix?: string;
14
+ customSuffix?: string;
15
+ }
16
+ /**
17
+ * Enhance a prompt to minimize text rendering errors
18
+ *
19
+ * @param originalPrompt - The original prompt
20
+ * @param config - Enhancement configuration
21
+ * @returns Enhanced prompt
22
+ */
23
+ export declare function enhancePrompt(originalPrompt: string, config?: PromptEnhancementConfig): string;
24
+ /**
25
+ * Enhance prompt specifically for diagrams
26
+ */
27
+ export declare function enhanceForDiagram(prompt: string): string;
28
+ /**
29
+ * Enhance prompt specifically for illustrations
30
+ */
31
+ export declare function enhanceForIllustration(prompt: string): string;
32
+ /**
33
+ * Enhance prompt specifically for icons
34
+ */
35
+ export declare function enhanceForIcon(prompt: string): string;
36
+ /**
37
+ * Enhance prompt specifically for screenshots
38
+ */
39
+ export declare function enhanceForScreenshot(prompt: string): string;
40
+ /**
41
+ * Enhance prompt based on image type
42
+ */
43
+ export declare function enhanceByType(prompt: string, imageType: string): string;
44
+ /**
45
+ * Get default enhancement configuration
46
+ */
47
+ export declare function getDefaultEnhancementConfig(): Required<PromptEnhancementConfig>;
48
+ //# sourceMappingURL=prompt-enhancer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-enhancer.d.ts","sourceRoot":"","sources":["../../src/utils/prompt-enhancer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,MAAM,WAAW,uBAAuB;IAEtC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IAGxB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAG/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA8CD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,cAAc,EAAE,MAAM,EACtB,MAAM,GAAE,uBAA4B,GACnC,MAAM,CAqDR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQxD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQ7D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQrD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQ3D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,MAAM,CAoBR;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,QAAQ,CAAC,uBAAuB,CAAC,CAE/E"}