mcp-image 0.9.0 → 0.10.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 (37) hide show
  1. package/README.md +1 -1
  2. package/dist/api/geminiClient.d.ts +1 -0
  3. package/dist/api/geminiClient.d.ts.map +1 -1
  4. package/dist/api/geminiClient.js +4 -3
  5. package/dist/api/geminiClient.js.map +1 -1
  6. package/dist/api/geminiTextClient.d.ts +1 -0
  7. package/dist/api/geminiTextClient.d.ts.map +1 -1
  8. package/dist/api/geminiTextClient.js +2 -1
  9. package/dist/api/geminiTextClient.js.map +1 -1
  10. package/dist/business/fileManager.d.ts +1 -1
  11. package/dist/business/fileManager.d.ts.map +1 -1
  12. package/dist/business/fileManager.js +6 -4
  13. package/dist/business/fileManager.js.map +1 -1
  14. package/dist/business/inputValidator.d.ts.map +1 -1
  15. package/dist/business/inputValidator.js +3 -4
  16. package/dist/business/inputValidator.js.map +1 -1
  17. package/dist/business/responseBuilder.d.ts.map +1 -1
  18. package/dist/business/responseBuilder.js +13 -26
  19. package/dist/business/responseBuilder.js.map +1 -1
  20. package/dist/business/structuredPromptGenerator.d.ts +3 -2
  21. package/dist/business/structuredPromptGenerator.d.ts.map +1 -1
  22. package/dist/business/structuredPromptGenerator.js +3 -2
  23. package/dist/business/structuredPromptGenerator.js.map +1 -1
  24. package/dist/server/mcpServer.d.ts.map +1 -1
  25. package/dist/server/mcpServer.js +10 -7
  26. package/dist/server/mcpServer.js.map +1 -1
  27. package/dist/utils/errors.d.ts.map +1 -1
  28. package/dist/utils/errors.js +2 -1
  29. package/dist/utils/errors.js.map +1 -1
  30. package/dist/utils/mimeUtils.d.ts +56 -0
  31. package/dist/utils/mimeUtils.d.ts.map +1 -0
  32. package/dist/utils/mimeUtils.js +111 -0
  33. package/dist/utils/mimeUtils.js.map +1 -0
  34. package/dist/utils/security.d.ts.map +1 -1
  35. package/dist/utils/security.js +2 -3
  36. package/dist/utils/security.js.map +1 -1
  37. package/package.json +3 -3
package/README.md CHANGED
@@ -90,7 +90,7 @@ npx mcp-image skills install --path ~/.claude/skills
90
90
 
91
91
  ## Prerequisites
92
92
 
93
- - **Node.js** 20 or higher
93
+ - **Node.js** 22 or higher
94
94
  - **Gemini API Key** - Get yours at [Google AI Studio](https://aistudio.google.com/apikey)
95
95
  - An MCP-compatible AI tool: **Cursor**, **Claude Code**, **Codex**, or others
96
96
  - Basic terminal/command line knowledge
@@ -25,6 +25,7 @@ export interface GeminiGenerationMetadata {
25
25
  export interface GeminiApiParams {
26
26
  prompt: string;
27
27
  inputImage?: string;
28
+ inputImageMimeType?: string;
28
29
  aspectRatio?: string;
29
30
  imageSize?: string;
30
31
  useGoogleSearch?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"geminiClient.d.ts","sourceRoot":"","sources":["../../src/api/geminiClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAEnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAsHjE;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,IAAI,CAAA;IACf,kBAAkB,EAAE,OAAO,CAAA;IAE3B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,YAAY,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,wBAAwB,CAAA;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,aAAa,CACX,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,cAAc,GAAG,YAAY,CAAC,CAAC,CAAA;CACxE;AAoVD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,CAevF"}
1
+ {"version":3,"file":"geminiClient.d.ts","sourceRoot":"","sources":["../../src/api/geminiClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAEnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAuHjE;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,IAAI,CAAA;IACf,kBAAkB,EAAE,OAAO,CAAA;IAE3B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,YAAY,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,wBAAwB,CAAA;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,aAAa,CACX,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,cAAc,GAAG,YAAY,CAAC,CAAC,CAAA;CACxE;AAoVD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,CAevF"}
@@ -7,6 +7,7 @@ import { GoogleGenAI } from '@google/genai';
7
7
  import { GEMINI_MODELS } from '../types/mcp.js';
8
8
  import { Err, Ok } from '../types/result.js';
9
9
  import { GeminiAPIError, NetworkError } from '../utils/errors.js';
10
+ import { DEFAULT_MIME_TYPE, normalizeMimeType } from '../utils/mimeUtils.js';
10
11
  /**
11
12
  * Safely analyze response structure for debugging (removes sensitive data)
12
13
  */
@@ -84,7 +85,7 @@ class GeminiClientImpl {
84
85
  {
85
86
  inlineData: {
86
87
  data: params.inputImage,
87
- mimeType: 'image/jpeg', // TODO: Dynamic MIME type support
88
+ mimeType: params.inputImageMimeType ?? DEFAULT_MIME_TYPE,
88
89
  },
89
90
  },
90
91
  {
@@ -187,7 +188,7 @@ class GeminiClientImpl {
187
188
  }));
188
189
  }
189
190
  const candidate = responseData.candidates[0];
190
- if (!candidate || !candidate.content || !candidate.content.parts) {
191
+ if (!candidate?.content?.parts) {
191
192
  return Err(new GeminiAPIError('No valid content in response', {
192
193
  stage: 'candidate_extraction',
193
194
  suggestion: 'The API response was incomplete. Please try again',
@@ -244,7 +245,7 @@ class GeminiClientImpl {
244
245
  }
245
246
  // Convert base64 image data to Buffer
246
247
  const imageBuffer = Buffer.from(imagePart.inlineData.data, 'base64');
247
- const mimeType = imagePart.inlineData.mimeType || 'image/png';
248
+ const mimeType = normalizeMimeType(imagePart.inlineData.mimeType || DEFAULT_MIME_TYPE);
248
249
  // Create metadata
249
250
  const metadata = {
250
251
  model: modelName,
@@ -1 +1 @@
1
- {"version":3,"file":"geminiClient.js","sourceRoot":"","sources":["../../src/api/geminiClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"geminiClient.js","sourceRoot":"","sources":["../../src/api/geminiClient.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ export interface GenerationConfig {
15
15
  timeout?: number;
16
16
  systemInstruction?: string;
17
17
  inputImage?: string;
18
+ inputImageMimeType?: string;
18
19
  topP?: number;
19
20
  topK?: number;
20
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"geminiTextClient.d.ts","sourceRoot":"","sources":["../../src/api/geminiTextClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,YAAY,CACV,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,YAAY,CAAC,CAAC,CAAA;IAEzD;;;OAGG;IACH,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,GAAG,YAAY,CAAC,CAAC,CAAA;CAC9E;AA+RD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAY/F"}
1
+ {"version":3,"file":"geminiTextClient.d.ts","sourceRoot":"","sources":["../../src/api/geminiTextClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAGjE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,YAAY,CACV,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,YAAY,CAAC,CAAC,CAAA;IAEzD;;;OAGG;IACH,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,GAAG,YAAY,CAAC,CAAC,CAAA;CAC9E;AA+RD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAY/F"}
@@ -6,6 +6,7 @@
6
6
  import { GoogleGenAI } from '@google/genai';
7
7
  import { Err, Ok } from '../types/result.js';
8
8
  import { GeminiAPIError, NetworkError } from '../utils/errors.js';
9
+ import { DEFAULT_MIME_TYPE } from '../utils/mimeUtils.js';
9
10
  /**
10
11
  * Default configuration for text generation
11
12
  */
@@ -63,7 +64,7 @@ class GeminiTextClientImpl {
63
64
  {
64
65
  inlineData: {
65
66
  data: config.inputImage,
66
- mimeType: 'image/jpeg', // Assuming JPEG for simplicity; can be enhanced later
67
+ mimeType: config.inputImageMimeType ?? DEFAULT_MIME_TYPE,
67
68
  },
68
69
  },
69
70
  {
@@ -1 +1 @@
1
- {"version":3,"file":"geminiTextClient.js","sourceRoot":"","sources":["../../src/api/geminiTextClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"geminiTextClient.js","sourceRoot":"","sources":["../../src/api/geminiTextClient.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ import { FileOperationError } from '../utils/errors.js';
10
10
  export interface FileManager {
11
11
  saveImage(imageData: Buffer, outputPath: string, format?: string): Promise<Result<string, FileOperationError>>;
12
12
  ensureDirectoryExists(dirPath: string): Result<void, FileOperationError>;
13
- generateFileName(): string;
13
+ generateFileName(mimeType?: string): string;
14
14
  }
15
15
  /**
16
16
  * Creates a file manager for image file operations
@@ -1 +1 @@
1
- {"version":3,"file":"fileManager.d.ts","sourceRoot":"","sources":["../../src/business/fileManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAcvD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,CACP,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAA;IAC9C,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAA;IACxE,gBAAgB,IAAI,MAAM,CAAA;CAC3B;AA+BD;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,CAsC/C"}
1
+ {"version":3,"file":"fileManager.d.ts","sourceRoot":"","sources":["../../src/business/fileManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAcvD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,CACP,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAA;IAC9C,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAA;IACxE,gBAAgB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAC5C;AAiCD;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,CAsC/C"}
@@ -7,9 +7,9 @@ import { promises as fs, mkdirSync } from 'node:fs';
7
7
  import * as path from 'node:path';
8
8
  import { Err, Ok } from '../types/result.js';
9
9
  import { FileOperationError } from '../utils/errors.js';
10
+ import { DEFAULT_MIME_TYPE, getExtensionFromMimeType } from '../utils/mimeUtils.js';
10
11
  // Constants for file naming and error messages
11
12
  const FILE_NAME_PREFIX = 'image';
12
- const DEFAULT_EXTENSION = '.png';
13
13
  const RANDOM_BYTES_LENGTH = 4;
14
14
  const ERROR_MESSAGES = {
15
15
  SAVE_FAILED: 'Failed to save image file',
@@ -34,12 +34,14 @@ function ensureDirectoryExists(dirPath) {
34
34
  }
35
35
  /**
36
36
  * Generates a unique filename based on timestamp and random component
37
- * @returns Generated filename in the format: gemini-image-{timestamp}.png
37
+ * @param mimeType Optional MIME type to determine file extension (defaults to image/png)
38
+ * @returns Generated filename in the format: image-{timestamp}-{hex}.{ext}
38
39
  */
39
- function generateFileName() {
40
+ function generateFileName(mimeType) {
40
41
  const timestamp = Date.now();
41
42
  const random = randomBytes(RANDOM_BYTES_LENGTH).toString('hex');
42
- return `${FILE_NAME_PREFIX}-${timestamp}-${random}${DEFAULT_EXTENSION}`;
43
+ const extension = getExtensionFromMimeType(mimeType ?? DEFAULT_MIME_TYPE);
44
+ return `${FILE_NAME_PREFIX}-${timestamp}-${random}${extension}`;
43
45
  }
44
46
  /**
45
47
  * Creates a file manager for image file operations
@@ -1 +1 @@
1
- {"version":3,"file":"fileManager.js","sourceRoot":"","sources":["../../src/business/fileManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAEvD,+CAA+C;AAC/C,MAAM,gBAAgB,GAAG,OAAgB,CAAA;AACzC,MAAM,iBAAiB,GAAG,MAAe,CAAA;AACzC,MAAM,mBAAmB,GAAG,CAAU,CAAA;AAEtC,MAAM,cAAc,GAAG;IACrB,WAAW,EAAE,2BAA2B;IACxC,yBAAyB,EAAE,4BAA4B;IACvD,qBAAqB,EAAE,mDAAmD;IAC1E,eAAe,EAAE,qDAAqD;CAC9D,CAAA;AAeV;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,OAAe;IAC5C,IAAI,CAAC;QACH,iFAAiF;QACjF,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACvC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAA;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,CACR,IAAI,kBAAkB,CACpB,GAAG,cAAc,CAAC,yBAAyB,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAC3G,CACF,CAAA;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB;IACvB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC5B,MAAM,MAAM,GAAG,WAAW,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC/D,OAAO,GAAG,gBAAgB,IAAI,SAAS,IAAI,MAAM,GAAG,iBAAiB,EAAE,CAAA;AACzE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL;;;;;;WAMG;QACH,KAAK,CAAC,SAAS,CACb,SAAiB,EACjB,UAAkB,EAClB,OAAgB;YAEhB,IAAI,CAAC;gBACH,8BAA8B;gBAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;gBAC1C,MAAM,SAAS,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAA;gBAClD,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;oBACvB,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;gBAC7B,CAAC;gBAED,gBAAgB;gBAChB,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;gBAEzC,OAAO,EAAE,CAAC,UAAU,CAAC,CAAA;YACvB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,GAAG,CACR,IAAI,kBAAkB,CACpB,GAAG,cAAc,CAAC,WAAW,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAC7F,CACF,CAAA;YACH,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,gBAAgB;KACjB,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"fileManager.js","sourceRoot":"","sources":["../../src/business/fileManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAEnF,+CAA+C;AAC/C,MAAM,gBAAgB,GAAG,OAAgB,CAAA;AACzC,MAAM,mBAAmB,GAAG,CAAU,CAAA;AAEtC,MAAM,cAAc,GAAG;IACrB,WAAW,EAAE,2BAA2B;IACxC,yBAAyB,EAAE,4BAA4B;IACvD,qBAAqB,EAAE,mDAAmD;IAC1E,eAAe,EAAE,qDAAqD;CAC9D,CAAA;AAeV;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,OAAe;IAC5C,IAAI,CAAC;QACH,iFAAiF;QACjF,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACvC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAA;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,CACR,IAAI,kBAAkB,CACpB,GAAG,cAAc,CAAC,yBAAyB,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAC3G,CACF,CAAA;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,QAAiB;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC5B,MAAM,MAAM,GAAG,WAAW,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC/D,MAAM,SAAS,GAAG,wBAAwB,CAAC,QAAQ,IAAI,iBAAiB,CAAC,CAAA;IACzE,OAAO,GAAG,gBAAgB,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,EAAE,CAAA;AACjE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL;;;;;;WAMG;QACH,KAAK,CAAC,SAAS,CACb,SAAiB,EACjB,UAAkB,EAClB,OAAgB;YAEhB,IAAI,CAAC;gBACH,8BAA8B;gBAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;gBAC1C,MAAM,SAAS,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAA;gBAClD,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;oBACvB,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;gBAC7B,CAAC;gBAED,gBAAgB;gBAChB,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;gBAEzC,OAAO,EAAE,CAAC,UAAU,CAAC,CAAA;YACvB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,GAAG,CACR,IAAI,kBAAkB,CACpB,GAAG,cAAc,CAAC,WAAW,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAC7F,CACF,CAAA;YACH,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,gBAAgB;KACjB,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"inputValidator.d.ts","sourceRoot":"","sources":["../../src/business/inputValidator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAe,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAEvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAiCzD;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAanF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,oBAAoB,CAAC,CAuDlD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,oBAAoB,CAAC,CA6BlD;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,mBAAmB,GAC1B,MAAM,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CA2EnD"}
1
+ {"version":3,"file":"inputValidator.d.ts","sourceRoot":"","sources":["../../src/business/inputValidator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAe,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAEvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAiCzD;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAanF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,oBAAoB,CAAC,CAuDlD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,oBAAoB,CAAC,CA4BlD;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,mBAAmB,GAC1B,MAAM,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CA2EnD"}
@@ -7,11 +7,11 @@ import { extname } from 'node:path';
7
7
  import { IMAGE_QUALITY_VALUES } from '../types/mcp.js';
8
8
  import { Err, Ok } from '../types/result.js';
9
9
  import { InputValidationError } from '../utils/errors.js';
10
+ import { SUPPORTED_EXTENSIONS, SUPPORTED_MIME_TYPES } from '../utils/mimeUtils.js';
10
11
  // Constants for validation limits
11
12
  const PROMPT_MIN_LENGTH = 1;
12
13
  const PROMPT_MAX_LENGTH = 4000;
13
14
  const MAX_IMAGE_SIZE = 10 * 1024 * 1024; // 10MB in bytes
14
- const SUPPORTED_MIME_TYPES = ['image/jpeg', 'image/png', 'image/webp', 'image/gif', 'image/bmp'];
15
15
  const SUPPORTED_ASPECT_RATIOS = [
16
16
  '1:1',
17
17
  '1:4',
@@ -99,9 +99,8 @@ export function validateImagePath(imagePath) {
99
99
  }
100
100
  // Check file extension
101
101
  const ext = extname(imagePath).toLowerCase();
102
- const supportedExtensions = ['.jpg', '.jpeg', '.png', '.webp', '.gif', '.bmp'];
103
- if (!supportedExtensions.includes(ext)) {
104
- return Err(new InputValidationError(`Unsupported image format: ${ext}. Supported formats: ${supportedExtensions.join(', ')}`, `Please provide an image with one of these extensions: ${supportedExtensions.join(', ')}`));
102
+ if (!SUPPORTED_EXTENSIONS.includes(ext)) {
103
+ return Err(new InputValidationError(`Unsupported image format: ${ext}. Supported formats: ${SUPPORTED_EXTENSIONS.join(', ')}`, `Please provide an image with one of these extensions: ${SUPPORTED_EXTENSIONS.join(', ')}`));
105
104
  }
106
105
  return Ok(imagePath);
107
106
  }
@@ -1 +1 @@
1
- {"version":3,"file":"inputValidator.js","sourceRoot":"","sources":["../../src/business/inputValidator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inputValidator.js","sourceRoot":"","sources":["../../src/business/inputValidator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"responseBuilder.d.ts","sourceRoot":"","sources":["../../src/business/responseBuilder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,iBAAiB,CAAA;AACzE,OAAO,EACL,KAAK,SAAS,EAOf,MAAM,oBAAoB,CAAA;AAmB3B;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oBAAoB,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe,CAAA;IAC/F,kBAAkB,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,GAAG,eAAe,CAAA;CAC9D;AA+DD;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,eAAe,CAgEvD"}
1
+ {"version":3,"file":"responseBuilder.d.ts","sourceRoot":"","sources":["../../src/business/responseBuilder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,iBAAiB,CAAA;AACzE,OAAO,EACL,KAAK,SAAS,EAOf,MAAM,oBAAoB,CAAA;AAM3B;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oBAAoB,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe,CAAA;IAC/F,kBAAkB,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,GAAG,eAAe,CAAA;CAC9D;AA2DD;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,eAAe,CAgEvD"}
@@ -4,37 +4,24 @@
4
4
  */
5
5
  import * as path from 'node:path';
6
6
  import { ConfigError, FileOperationError, GeminiAPIError, InputValidationError, NetworkError, SecurityError, } from '../utils/errors.js';
7
- // Constants for MIME types and error handling
8
- const MIME_TYPES = {
9
- PNG: 'image/png',
10
- JPEG: 'image/jpeg',
11
- WEBP: 'image/webp',
12
- };
13
- const FILE_EXTENSIONS = {
14
- PNG: ['.png'],
15
- JPEG: ['.jpg', '.jpeg'],
16
- WEBP: ['.webp'],
17
- };
18
- const DEFAULT_MIME_TYPE = MIME_TYPES.PNG;
7
+ import { getMimeTypeFromExtension, SUPPORTED_MIME_TYPES } from '../utils/mimeUtils.js';
19
8
  const UNKNOWN_ERROR_CODE = 'UNKNOWN_ERROR';
20
9
  const DEFAULT_ERROR_SUGGESTION = 'Please try again or contact support if the problem persists';
21
10
  /**
22
- * Determines MIME type based on file extension
23
- * @param filePath Path to the image file
11
+ * Determines MIME type from generation metadata with extension-based fallback.
12
+ * Uses the API-reported MIME type as the primary source of truth.
13
+ * Falls back to file extension detection when metadata MIME is unavailable.
14
+ *
15
+ * @param metadataMimeType MIME type from API generation metadata
16
+ * @param filePath Path to the image file (used for fallback)
24
17
  * @returns MIME type string
25
18
  */
26
- function getMimeTypeFromPath(filePath) {
27
- const ext = path.extname(filePath).toLowerCase();
28
- if (FILE_EXTENSIONS.PNG.includes(ext)) {
29
- return MIME_TYPES.PNG;
30
- }
31
- if (FILE_EXTENSIONS.JPEG.includes(ext)) {
32
- return MIME_TYPES.JPEG;
19
+ function resolveMimeType(metadataMimeType, filePath) {
20
+ if (metadataMimeType && SUPPORTED_MIME_TYPES.includes(metadataMimeType)) {
21
+ return metadataMimeType;
33
22
  }
34
- if (FILE_EXTENSIONS.WEBP.includes(ext)) {
35
- return MIME_TYPES.WEBP;
36
- }
37
- return DEFAULT_MIME_TYPE;
23
+ const ext = path.extname(filePath).toLowerCase();
24
+ return getMimeTypeFromExtension(ext);
38
25
  }
39
26
  /**
40
27
  * Converts various error types to structured error format
@@ -81,7 +68,7 @@ export function createResponseBuilder() {
81
68
  buildSuccessResponse(generationResult, filePath) {
82
69
  // File-based implementation: Always return file path, never base64
83
70
  // This avoids MCP token limit issues (25,000 tokens max)
84
- const mimeType = getMimeTypeFromPath(filePath);
71
+ const mimeType = resolveMimeType(generationResult.metadata.mimeType, filePath);
85
72
  const fileName = path.basename(filePath);
86
73
  const structuredContent = {
87
74
  type: 'resource',
@@ -1 +1 @@
1
- {"version":3,"file":"responseBuilder.js","sourceRoot":"","sources":["../../src/business/responseBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"responseBuilder.js","sourceRoot":"","sources":["../../src/business/responseBuilder.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,8 @@ export interface StructuredPromptResult {
27
27
  */
28
28
  export interface StructuredPromptGenerator {
29
29
  generateStructuredPrompt(userPrompt: string, features?: FeatureFlags, inputImageData?: string, // Optional base64-encoded image for context
30
- purpose?: string): Promise<Result<StructuredPromptResult, Error>>;
30
+ purpose?: string, // Optional intended use for the image
31
+ inputImageMimeType?: string): Promise<Result<StructuredPromptResult, Error>>;
31
32
  }
32
33
  /**
33
34
  * Implementation of StructuredPromptGenerator using Gemini Flash
@@ -35,7 +36,7 @@ export interface StructuredPromptGenerator {
35
36
  export declare class StructuredPromptGeneratorImpl implements StructuredPromptGenerator {
36
37
  private readonly geminiTextClient;
37
38
  constructor(geminiTextClient: GeminiTextClient);
38
- generateStructuredPrompt(userPrompt: string, features?: FeatureFlags, inputImageData?: string, purpose?: string): Promise<Result<StructuredPromptResult, Error>>;
39
+ generateStructuredPrompt(userPrompt: string, features?: FeatureFlags, inputImageData?: string, purpose?: string, inputImageMimeType?: string): Promise<Result<StructuredPromptResult, Error>>;
39
40
  /**
40
41
  * Build complete prompt with all optimization context
41
42
  */
@@ -1 +1 @@
1
- {"version":3,"file":"structuredPromptGenerator.d.ts","sourceRoot":"","sources":["../../src/business/structuredPromptGenerator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AA+ChD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,4BAA4B,CAAC,EAAE,OAAO,CAAA;IACtC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,MAAM,CAAA;IACtB,gBAAgB,EAAE,MAAM,CAAA;IACxB,iBAAiB,EAAE,MAAM,EAAE,CAAA;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,wBAAwB,CACtB,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,YAAY,EACvB,cAAc,CAAC,EAAE,MAAM,EAAE,4CAA4C;IACrE,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC,CAAA;CAClD;AAED;;GAEG;AACH,qBAAa,6BAA8B,YAAW,yBAAyB;IACjE,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAAhB,gBAAgB,EAAE,gBAAgB;IAEzD,wBAAwB,CAC5B,UAAU,EAAE,MAAM,EAClB,QAAQ,GAAE,YAAiB,EAC3B,cAAc,CAAC,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;IAgDjD;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAyC3B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IA4BnC;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAkF/B;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,gBAAgB,EAAE,gBAAgB,GACjC,yBAAyB,CAE3B"}
1
+ {"version":3,"file":"structuredPromptGenerator.d.ts","sourceRoot":"","sources":["../../src/business/structuredPromptGenerator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AA+ChD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,4BAA4B,CAAC,EAAE,OAAO,CAAA;IACtC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,MAAM,CAAA;IACtB,gBAAgB,EAAE,MAAM,CAAA;IACxB,iBAAiB,EAAE,MAAM,EAAE,CAAA;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,wBAAwB,CACtB,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,YAAY,EACvB,cAAc,CAAC,EAAE,MAAM,EAAE,4CAA4C;IACrE,OAAO,CAAC,EAAE,MAAM,EAAE,sCAAsC;IACxD,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,MAAM,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC,CAAA;CAClD;AAED;;GAEG;AACH,qBAAa,6BAA8B,YAAW,yBAAyB;IACjE,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAAhB,gBAAgB,EAAE,gBAAgB;IAEzD,wBAAwB,CAC5B,UAAU,EAAE,MAAM,EAClB,QAAQ,GAAE,YAAiB,EAC3B,cAAc,CAAC,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE,MAAM,EAChB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,MAAM,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;IAiDjD;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAyC3B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IA4BnC;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAkF/B;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,gBAAgB,EAAE,gBAAgB,GACjC,yBAAyB,CAE3B"}
@@ -53,7 +53,7 @@ export class StructuredPromptGeneratorImpl {
53
53
  constructor(geminiTextClient) {
54
54
  this.geminiTextClient = geminiTextClient;
55
55
  }
56
- async generateStructuredPrompt(userPrompt, features = {}, inputImageData, purpose) {
56
+ async generateStructuredPrompt(userPrompt, features = {}, inputImageData, purpose, inputImageMimeType) {
57
57
  try {
58
58
  // Validate input
59
59
  if (!userPrompt || userPrompt.trim().length === 0) {
@@ -70,7 +70,8 @@ export class StructuredPromptGeneratorImpl {
70
70
  temperature: 0.7,
71
71
  maxTokens: 1000,
72
72
  systemInstruction,
73
- ...(inputImageData && { inputImage: inputImageData }), // Only include if available
73
+ ...(inputImageData && { inputImage: inputImageData }),
74
+ ...(inputImageMimeType && { inputImageMimeType }),
74
75
  };
75
76
  const result = await this.geminiTextClient.generateText(completePrompt, config);
76
77
  if (!result.success) {
@@ -1 +1 @@
1
- {"version":3,"file":"structuredPromptGenerator.js","sourceRoot":"","sources":["../../src/business/structuredPromptGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"structuredPromptGenerator.js","sourceRoot":"","sources":["../../src/business/structuredPromptGenerator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcpServer.d.ts","sourceRoot":"","sources":["../../src/server/mcpServer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAA;AAoBlE,OAAO,KAAK,EAAuB,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAiB3E;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,yBAAyB,CAAyC;IAC1E,OAAO,CAAC,gBAAgB,CAAgC;IACxD,OAAO,CAAC,YAAY,CAA4B;gBAEpC,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM;IAQjD;;OAEG;IACI,aAAa;;;;IAOpB;;OAEG;IACI,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyFnB;;OAEG;IACU,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;IAYjD;;OAEG;YACW,iBAAiB;IAkC/B;;OAEG;YACW,mBAAmB;IA0HjC;;OAEG;IACI,UAAU,IAAI,MAAM;IAmB3B;;OAEG;IACH,OAAO,CAAC,aAAa;CA0BtB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM,iBAEpE"}
1
+ {"version":3,"file":"mcpServer.d.ts","sourceRoot":"","sources":["../../src/server/mcpServer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAA;AAoBlE,OAAO,KAAK,EAAuB,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAkB3E;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,yBAAyB,CAAyC;IAC1E,OAAO,CAAC,gBAAgB,CAAgC;IACxD,OAAO,CAAC,YAAY,CAA4B;gBAEpC,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM;IAQjD;;OAEG;IACI,aAAa;;;;IAOpB;;OAEG;IACI,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyFnB;;OAEG;IACU,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;IAYjD;;OAEG;YACW,iBAAiB;IAkC/B;;OAEG;YACW,mBAAmB;IA+HjC;;OAEG;IACI,UAAU,IAAI,MAAM;IAmB3B;;OAEG;IACH,OAAO,CAAC,aAAa;CA0BtB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM,iBAEpE"}
@@ -17,6 +17,7 @@ import { createStructuredPromptGenerator, } from '../business/structuredPromptGe
17
17
  // Utilities
18
18
  import { getConfig } from '../utils/config.js';
19
19
  import { Logger } from '../utils/logger.js';
20
+ import { ensureExtension, getMimeTypeFromExtension } from '../utils/mimeUtils.js';
20
21
  import { SecurityManager } from '../utils/security.js';
21
22
  import { ErrorHandler } from './errorHandler.js';
22
23
  /**
@@ -198,6 +199,7 @@ export class MCPServerImpl {
198
199
  await this.initializeClients();
199
200
  // Handle input image if provided
200
201
  let inputImageData;
202
+ let inputImageMimeType;
201
203
  if (params.inputImagePath) {
202
204
  const sanitizedInputPath = this.securityManager.sanitizeInputFilePath(params.inputImagePath);
203
205
  if (!sanitizedInputPath.success) {
@@ -209,6 +211,7 @@ export class MCPServerImpl {
209
211
  }
210
212
  const imageBuffer = await fs.readFile(sanitizedInputPath.data);
211
213
  inputImageData = imageBuffer.toString('base64');
214
+ inputImageMimeType = getMimeTypeFromExtension(path.extname(sanitizedInputPath.data));
212
215
  }
213
216
  // Generate structured prompt (unless skipped)
214
217
  let structuredPrompt = params.prompt;
@@ -226,9 +229,7 @@ export class MCPServerImpl {
226
229
  if (params.useGoogleSearch !== undefined) {
227
230
  features.useGoogleSearch = params.useGoogleSearch;
228
231
  }
229
- const promptResult = await this.structuredPromptGenerator.generateStructuredPrompt(params.prompt, features, inputImageData, // Pass image data for context-aware prompt generation
230
- params.purpose // Pass intended use for purpose-aware prompt generation
231
- );
232
+ const promptResult = await this.structuredPromptGenerator.generateStructuredPrompt(params.prompt, features, inputImageData, params.purpose, inputImageMimeType);
232
233
  if (promptResult.success) {
233
234
  structuredPrompt = promptResult.data.structuredPrompt;
234
235
  this.logger.info('mcp-server', 'Structured prompt generated', {
@@ -253,6 +254,7 @@ export class MCPServerImpl {
253
254
  const generationResult = await this.geminiClient.generateImage({
254
255
  prompt: structuredPrompt,
255
256
  ...(inputImageData && { inputImage: inputImageData }),
257
+ ...(inputImageMimeType && { inputImageMimeType }),
256
258
  ...(params.aspectRatio && { aspectRatio: params.aspectRatio }),
257
259
  ...(params.imageSize && { imageSize: params.imageSize }),
258
260
  ...(params.useGoogleSearch !== undefined && { useGoogleSearch: params.useGoogleSearch }),
@@ -262,10 +264,11 @@ export class MCPServerImpl {
262
264
  throw generationResult.error;
263
265
  }
264
266
  // Save image file
265
- const rawFileName = params.fileName || this.fileManager.generateFileName();
266
- const fileName = params.fileName
267
- ? this.securityManager.sanitizeFilename(rawFileName)
268
- : rawFileName;
267
+ const mimeType = generationResult.data.metadata.mimeType;
268
+ const rawFileName = params.fileName
269
+ ? this.securityManager.sanitizeFilename(params.fileName)
270
+ : this.fileManager.generateFileName(mimeType);
271
+ const fileName = params.fileName ? ensureExtension(rawFileName, mimeType) : rawFileName;
269
272
  const outputPath = path.join(configResult.data.imageOutputDir, fileName);
270
273
  const sanitizedPath = this.securityManager.sanitizeFilePath(outputPath);
271
274
  if (!sanitizedPath.success) {
@@ -1 +1 @@
1
- {"version":3,"file":"mcpServer.js","sourceRoot":"","sources":["../../src/server/mcpServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcpServer.js","sourceRoot":"","sources":["../../src/server/mcpServer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAA;AAE3E;;GAEG;AACH,8BAAsB,SAAU,SAAQ,KAAK;IAC3C,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;gBAEzC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAO9D,iBAAiB,IAAI,eAAe;CASrC;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,SAAS;aAK/B,UAAU,EAAE,MAAM;IAJpC,QAAQ,CAAC,IAAI,4BAA2B;gBAGtC,OAAO,EAAE,MAAM,EACC,UAAU,EAAE,MAAM;CAIrC;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,SAAS;IAC/C,QAAQ,CAAC,IAAI,0BAAyB;IAEtC,IAAI,UAAU,IAAI,MAAM,CAgCvB;CACF;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,SAAS;IAC3C,QAAQ,CAAC,IAAI,sBAAqB;IAClC,OAAO,CAAC,gBAAgB,CAAC,CAAQ;gBAG/B,OAAO,EAAE,MAAM,EACf,mBAAmB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtD,mBAAmB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAwBxD,IAAI,UAAU,IAAI,MAAM,CAmCvB;CACF;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,SAAS;IACzC,QAAQ,CAAC,IAAI,mBAAkB;IAC/B,OAAO,CAAC,gBAAgB,CAAC,CAAQ;gBAG/B,OAAO,EAAE,MAAM,EACf,mBAAmB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtD,cAAc,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAwBlD,IAAI,UAAU,IAAI,MAAM,CA2BvB;CACF;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,SAAS;aAKtB,UAAU,EAAE,MAAM;IAJpC,QAAQ,CAAC,IAAI,kBAAiB;gBAG5B,OAAO,EAAE,MAAM,EACC,UAAU,EAAE,MAAM;CAIrC;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC1C,QAAQ,CAAC,IAAI,oBAAmB;IAEhC,IAAI,UAAU,IAAI,MAAM,CAwBvB;CACF"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAA;AAE3E;;GAEG;AACH,8BAAsB,SAAU,SAAQ,KAAK;IAC3C,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;gBAEzC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAO9D,iBAAiB,IAAI,eAAe;CASrC;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,SAAS;aAK/B,UAAU,EAAE,MAAM;IAJpC,QAAQ,CAAC,IAAI,4BAA2B;gBAGtC,OAAO,EAAE,MAAM,EACC,UAAU,EAAE,MAAM;CAIrC;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,SAAS;IAC/C,QAAQ,CAAC,IAAI,0BAAyB;IAEtC,IAAI,UAAU,IAAI,MAAM,CAgCvB;CACF;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,SAAS;IAC3C,QAAQ,CAAC,IAAI,sBAAqB;IAClC,OAAO,CAAC,gBAAgB,CAAC,CAAQ;gBAG/B,OAAO,EAAE,MAAM,EACf,mBAAmB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtD,mBAAmB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAwBxD,IAAI,UAAU,IAAI,MAAM,CAmCvB;CACF;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,SAAS;IACzC,QAAQ,CAAC,IAAI,mBAAkB;IAC/B,OAAO,CAAC,gBAAgB,CAAC,CAAQ;gBAG/B,OAAO,EAAE,MAAM,EACf,mBAAmB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtD,cAAc,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAwBlD,IAAI,UAAU,IAAI,MAAM,CA2BvB;CACF;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,SAAS;aAKtB,UAAU,EAAE,MAAM;IAJpC,QAAQ,CAAC,IAAI,kBAAiB;gBAG5B,OAAO,EAAE,MAAM,EACC,UAAU,EAAE,MAAM;CAIrC;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC1C,QAAQ,CAAC,IAAI,oBAAmB;IAEhC,IAAI,UAAU,IAAI,MAAM,CAwBvB;CACF"}
@@ -3,6 +3,7 @@
3
3
  * Provides specific error types with structured error codes and suggestions
4
4
  */
5
5
  import { GEMINI_MODELS } from '../types/mcp.js';
6
+ import { SUPPORTED_EXTENSIONS } from './mimeUtils.js';
6
7
  /**
7
8
  * Base class for all application errors with structured error support
8
9
  */
@@ -201,7 +202,7 @@ export class SecurityError extends BaseError {
201
202
  if (message.includes('extension') ||
202
203
  message.includes('filetype') ||
203
204
  message.includes('format')) {
204
- return 'Use supported file extensions: .png, .jpg, .jpeg, .webp';
205
+ return `Use supported file extensions: ${SUPPORTED_EXTENSIONS.join(', ')}`;
205
206
  }
206
207
  if (message.includes('size') || message.includes('large') || message.includes('limit')) {
207
208
  return 'Ensure file size is within allowed limits (max 10MB)';
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Centralized MIME type and file extension mapping utility.
3
+ * Single source of truth for all MIME type and extension operations.
4
+ */
5
+ export declare const DEFAULT_MIME_TYPE = "image/png";
6
+ /**
7
+ * All supported MIME types for image processing.
8
+ */
9
+ export declare const SUPPORTED_MIME_TYPES: readonly string[];
10
+ /**
11
+ * All supported file extensions for image processing.
12
+ * Includes aliases (e.g., both .jpg and .jpeg).
13
+ */
14
+ export declare const SUPPORTED_EXTENSIONS: readonly string[];
15
+ /**
16
+ * Get the file extension for a given MIME type.
17
+ * Returns .png with a warning log for unknown MIME types.
18
+ *
19
+ * @param mimeType - The MIME type string (e.g., "image/jpeg")
20
+ * @returns The corresponding file extension (e.g., ".jpg")
21
+ */
22
+ export declare function getExtensionFromMimeType(mimeType: string): string;
23
+ /**
24
+ * Get the MIME type for a given file extension.
25
+ * Returns image/png for unknown extensions.
26
+ *
27
+ * @param ext - The file extension (e.g., ".jpg" or ".jpeg")
28
+ * @returns The corresponding MIME type (e.g., "image/jpeg")
29
+ */
30
+ export declare function getMimeTypeFromExtension(ext: string): string;
31
+ /**
32
+ * Check if a filename has a recognized image file extension.
33
+ *
34
+ * @param fileName - The filename to check
35
+ * @returns true if the filename has a recognized image extension
36
+ */
37
+ export declare function hasImageExtension(fileName: string): boolean;
38
+ /**
39
+ * Normalize a MIME type against the supported allowlist.
40
+ * Returns the MIME type as-is if supported, otherwise falls back to image/png with a warning.
41
+ *
42
+ * @param mimeType - The MIME type to normalize
43
+ * @returns A supported MIME type string
44
+ */
45
+ export declare function normalizeMimeType(mimeType: string): string;
46
+ /**
47
+ * Ensure a filename has an appropriate file extension based on MIME type.
48
+ * - If the filename already has an extension (any extension), it is preserved as-is.
49
+ * - If the filename has no extension, one is appended based on the MIME type.
50
+ *
51
+ * @param fileName - The filename, with or without extension
52
+ * @param mimeType - The MIME type to derive the extension from
53
+ * @returns The filename with an appropriate extension
54
+ */
55
+ export declare function ensureExtension(fileName: string, mimeType: string): string;
56
+ //# sourceMappingURL=mimeUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mimeUtils.d.ts","sourceRoot":"","sources":["../../src/utils/mimeUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgCH,eAAO,MAAM,iBAAiB,cAAc,CAAA;AAG5C;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EAAkC,CAAA;AAEpF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EAAkC,CAAA;AAEpF;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAUjE;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG5D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAG3D;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAM1D;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQ1E"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Centralized MIME type and file extension mapping utility.
3
+ * Single source of truth for all MIME type and extension operations.
4
+ */
5
+ import * as path from 'node:path';
6
+ import { Logger } from './logger.js';
7
+ const logger = new Logger();
8
+ /**
9
+ * MIME type to file extension mapping.
10
+ * Primary extension is used for each MIME type.
11
+ */
12
+ const MIME_TO_EXTENSION = new Map([
13
+ ['image/jpeg', '.jpg'],
14
+ ['image/png', '.png'],
15
+ ['image/webp', '.webp'],
16
+ ['image/gif', '.gif'],
17
+ ['image/bmp', '.bmp'],
18
+ ]);
19
+ /**
20
+ * File extension to MIME type mapping.
21
+ * Includes aliases (e.g., .jpeg -> image/jpeg).
22
+ */
23
+ const EXTENSION_TO_MIME = new Map([
24
+ ['.jpg', 'image/jpeg'],
25
+ ['.jpeg', 'image/jpeg'],
26
+ ['.png', 'image/png'],
27
+ ['.webp', 'image/webp'],
28
+ ['.gif', 'image/gif'],
29
+ ['.bmp', 'image/bmp'],
30
+ ]);
31
+ export const DEFAULT_MIME_TYPE = 'image/png';
32
+ const DEFAULT_EXTENSION = '.png';
33
+ /**
34
+ * All supported MIME types for image processing.
35
+ */
36
+ export const SUPPORTED_MIME_TYPES = [...MIME_TO_EXTENSION.keys()];
37
+ /**
38
+ * All supported file extensions for image processing.
39
+ * Includes aliases (e.g., both .jpg and .jpeg).
40
+ */
41
+ export const SUPPORTED_EXTENSIONS = [...EXTENSION_TO_MIME.keys()];
42
+ /**
43
+ * Get the file extension for a given MIME type.
44
+ * Returns .png with a warning log for unknown MIME types.
45
+ *
46
+ * @param mimeType - The MIME type string (e.g., "image/jpeg")
47
+ * @returns The corresponding file extension (e.g., ".jpg")
48
+ */
49
+ export function getExtensionFromMimeType(mimeType) {
50
+ const extension = MIME_TO_EXTENSION.get(mimeType);
51
+ if (extension) {
52
+ return extension;
53
+ }
54
+ logger.warn('mimeUtils', `Unknown MIME type encountered, falling back to ${DEFAULT_EXTENSION}`, {
55
+ mimeType,
56
+ });
57
+ return DEFAULT_EXTENSION;
58
+ }
59
+ /**
60
+ * Get the MIME type for a given file extension.
61
+ * Returns image/png for unknown extensions.
62
+ *
63
+ * @param ext - The file extension (e.g., ".jpg" or ".jpeg")
64
+ * @returns The corresponding MIME type (e.g., "image/jpeg")
65
+ */
66
+ export function getMimeTypeFromExtension(ext) {
67
+ const normalized = ext.toLowerCase();
68
+ return EXTENSION_TO_MIME.get(normalized) ?? DEFAULT_MIME_TYPE;
69
+ }
70
+ /**
71
+ * Check if a filename has a recognized image file extension.
72
+ *
73
+ * @param fileName - The filename to check
74
+ * @returns true if the filename has a recognized image extension
75
+ */
76
+ export function hasImageExtension(fileName) {
77
+ const ext = path.extname(fileName).toLowerCase();
78
+ return EXTENSION_TO_MIME.has(ext);
79
+ }
80
+ /**
81
+ * Normalize a MIME type against the supported allowlist.
82
+ * Returns the MIME type as-is if supported, otherwise falls back to image/png with a warning.
83
+ *
84
+ * @param mimeType - The MIME type to normalize
85
+ * @returns A supported MIME type string
86
+ */
87
+ export function normalizeMimeType(mimeType) {
88
+ if (MIME_TO_EXTENSION.has(mimeType)) {
89
+ return mimeType;
90
+ }
91
+ logger.warn('mimeUtils', `Unknown MIME type, normalizing to ${DEFAULT_MIME_TYPE}`, { mimeType });
92
+ return DEFAULT_MIME_TYPE;
93
+ }
94
+ /**
95
+ * Ensure a filename has an appropriate file extension based on MIME type.
96
+ * - If the filename already has an extension (any extension), it is preserved as-is.
97
+ * - If the filename has no extension, one is appended based on the MIME type.
98
+ *
99
+ * @param fileName - The filename, with or without extension
100
+ * @param mimeType - The MIME type to derive the extension from
101
+ * @returns The filename with an appropriate extension
102
+ */
103
+ export function ensureExtension(fileName, mimeType) {
104
+ const ext = path.extname(fileName);
105
+ if (ext) {
106
+ return fileName;
107
+ }
108
+ const newExt = getExtensionFromMimeType(mimeType);
109
+ return `${fileName}${newExt}`;
110
+ }
111
+ //# sourceMappingURL=mimeUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mimeUtils.js","sourceRoot":"","sources":["../../src/utils/mimeUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAA;AAE3B;;;GAGG;AACH,MAAM,iBAAiB,GAAgC,IAAI,GAAG,CAAC;IAC7D,CAAC,YAAY,EAAE,MAAM,CAAC;IACtB,CAAC,WAAW,EAAE,MAAM,CAAC;IACrB,CAAC,YAAY,EAAE,OAAO,CAAC;IACvB,CAAC,WAAW,EAAE,MAAM,CAAC;IACrB,CAAC,WAAW,EAAE,MAAM,CAAC;CACtB,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,iBAAiB,GAAgC,IAAI,GAAG,CAAC;IAC7D,CAAC,MAAM,EAAE,YAAY,CAAC;IACtB,CAAC,OAAO,EAAE,YAAY,CAAC;IACvB,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,OAAO,EAAE,YAAY,CAAC;IACvB,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,MAAM,EAAE,WAAW,CAAC;CACtB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAA;AAC5C,MAAM,iBAAiB,GAAG,MAAM,CAAA;AAEhC;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAsB,CAAC,GAAG,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAA;AAEpF;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAsB,CAAC,GAAG,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAA;AAEpF;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,QAAgB;IACvD,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACjD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,kDAAkD,iBAAiB,EAAE,EAAE;QAC9F,QAAQ;KACT,CAAC,CAAA;IACF,OAAO,iBAAiB,CAAA;AAC1B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,GAAW;IAClD,MAAM,UAAU,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;IACpC,OAAO,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,iBAAiB,CAAA;AAC/D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAA;IAChD,OAAO,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AACnC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,IAAI,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,OAAO,QAAQ,CAAA;IACjB,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,qCAAqC,iBAAiB,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;IAChG,OAAO,iBAAiB,CAAA;AAC1B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB,EAAE,QAAgB;IAChE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAClC,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,MAAM,MAAM,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAA;IACjD,OAAO,GAAG,QAAQ,GAAG,MAAM,EAAE,CAAA;AAC/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/utils/security.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAMhC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAwBlE;;;;;;OAMG;IACH,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAoBvE;;;;OAIG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC;IAYhE;;;;OAIG;IACH,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC;IAUnE;;;;;OAKG;IACH,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAQnE;;;;OAIG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAK1C;;;;OAIG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;CAuB3C"}
1
+ {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/utils/security.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAG3C;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAMhC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAwBlE;;;;;;OAMG;IACH,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAoBvE;;;;OAIG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC;IAUhE;;;;OAIG;IACH,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC;IAUnE;;;;;OAKG;IACH,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAQnE;;;;OAIG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAK1C;;;;OAIG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;CAuB3C"}
@@ -7,6 +7,7 @@ import * as fs from 'node:fs';
7
7
  import * as path from 'node:path';
8
8
  import { Err, Ok } from '../types/result.js';
9
9
  import { SecurityError } from './errors.js';
10
+ import { SUPPORTED_EXTENSIONS } from './mimeUtils.js';
10
11
  /**
11
12
  * Security manager for handling file path validation and sanitization
12
13
  */
@@ -72,10 +73,8 @@ export class SecurityManager {
72
73
  * @returns Result indicating validation success or security error
73
74
  */
74
75
  validateImageFile(filePath) {
75
- // Allowed image file extensions
76
- const allowedExtensions = ['.png', '.jpg', '.jpeg', '.webp'];
77
76
  const extension = path.extname(filePath).toLowerCase();
78
- if (!allowedExtensions.includes(extension)) {
77
+ if (!SUPPORTED_EXTENSIONS.includes(extension)) {
79
78
  return Err(new SecurityError(`Unsupported file extension: ${extension}`));
80
79
  }
81
80
  return Ok(undefined);
@@ -1 +1 @@
1
- {"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/utils/security.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/utils/security.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mcp-image",
3
3
  "mcpName": "io.github.shinpr/mcp-image",
4
- "version": "0.9.0",
4
+ "version": "0.10.0",
5
5
  "description": "MCP server for AI image generation",
6
6
  "type": "module",
7
7
  "main": "dist/index.js",
@@ -56,7 +56,7 @@
56
56
  "lint:fix": "biome lint --write src",
57
57
  "check": "biome check src",
58
58
  "check:fix": "biome check --write src",
59
- "check:deps": "madge --circular --extensions ts src",
59
+ "check:deps": "dpdm --no-tree --no-warning --circular --exit-code circular:1 --exclude \"(node_modules|__tests__|\\.test\\.ts$|\\.spec\\.ts$)\" --tsconfig ./tsconfig.json \"src/**/*.ts\"",
60
60
  "check:all": "npm run check && npm run lint && npm run format:check && npm run check:deps && npm run build && npm run test",
61
61
  "cleanup:processes": "bash ./scripts/cleanup-test-processes.sh",
62
62
  "test:safe": "npm test && npm run cleanup:processes"
@@ -70,9 +70,9 @@
70
70
  "@types/node": "^25.3.5",
71
71
  "@vitest/coverage-v8": "^4.0.18",
72
72
  "@vitest/ui": "^4.0.18",
73
+ "dpdm": "^4.0.1",
73
74
  "husky": "^9.1.7",
74
75
  "lint-staged": "^16.3.2",
75
- "madge": "^8.0.0",
76
76
  "tsc-alias": "^1.8.16",
77
77
  "tsx": "^4.21.0",
78
78
  "typescript": "^5.9.3",