mcp-image 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/README.md +41 -17
  2. package/dist/api/geminiClient.d.ts +2 -12
  3. package/dist/api/geminiClient.d.ts.map +1 -1
  4. package/dist/api/geminiClient.js +28 -56
  5. package/dist/api/geminiClient.js.map +1 -1
  6. package/dist/api/geminiTextClient.d.ts +42 -0
  7. package/dist/api/geminiTextClient.d.ts.map +1 -0
  8. package/dist/api/geminiTextClient.js +198 -0
  9. package/dist/api/geminiTextClient.js.map +1 -0
  10. package/dist/business/__tests__/mocks/mcpSamplingClient.mock.d.ts +84 -0
  11. package/dist/business/__tests__/mocks/mcpSamplingClient.mock.d.ts.map +1 -0
  12. package/dist/business/__tests__/mocks/mcpSamplingClient.mock.js +100 -0
  13. package/dist/business/__tests__/mocks/mcpSamplingClient.mock.js.map +1 -0
  14. package/dist/business/bestPracticesEngine.d.ts +149 -0
  15. package/dist/business/bestPracticesEngine.d.ts.map +1 -0
  16. package/dist/business/bestPracticesEngine.js +781 -0
  17. package/dist/business/bestPracticesEngine.js.map +1 -0
  18. package/dist/business/complexityAssessment.d.ts +132 -0
  19. package/dist/business/complexityAssessment.d.ts.map +1 -0
  20. package/dist/business/complexityAssessment.js +488 -0
  21. package/dist/business/complexityAssessment.js.map +1 -0
  22. package/dist/business/fallbackStrategies.d.ts +177 -0
  23. package/dist/business/fallbackStrategies.d.ts.map +1 -0
  24. package/dist/business/fallbackStrategies.js +368 -0
  25. package/dist/business/fallbackStrategies.js.map +1 -0
  26. package/dist/business/imageGenerator.d.ts.map +1 -1
  27. package/dist/business/imageGenerator.js +26 -5
  28. package/dist/business/imageGenerator.js.map +1 -1
  29. package/dist/business/multiImage/aspectRatioController.d.ts +77 -0
  30. package/dist/business/multiImage/aspectRatioController.d.ts.map +1 -0
  31. package/dist/business/multiImage/aspectRatioController.js +580 -0
  32. package/dist/business/multiImage/aspectRatioController.js.map +1 -0
  33. package/dist/business/multiImage/multiImageCoordinator.d.ts +142 -0
  34. package/dist/business/multiImage/multiImageCoordinator.d.ts.map +1 -0
  35. package/dist/business/multiImage/multiImageCoordinator.js +801 -0
  36. package/dist/business/multiImage/multiImageCoordinator.js.map +1 -0
  37. package/dist/business/pomlTemplateEngine.d.ts +206 -0
  38. package/dist/business/pomlTemplateEngine.d.ts.map +1 -0
  39. package/dist/business/pomlTemplateEngine.js +737 -0
  40. package/dist/business/pomlTemplateEngine.js.map +1 -0
  41. package/dist/business/promptOrchestrator.d.ts +173 -0
  42. package/dist/business/promptOrchestrator.d.ts.map +1 -0
  43. package/dist/business/promptOrchestrator.js +490 -0
  44. package/dist/business/promptOrchestrator.js.map +1 -0
  45. package/dist/business/responseBuilder.d.ts +2 -2
  46. package/dist/business/responseBuilder.d.ts.map +1 -1
  47. package/dist/business/responseBuilder.js +6 -1
  48. package/dist/business/responseBuilder.js.map +1 -1
  49. package/dist/business/structuredPromptGenerator.d.ts +54 -0
  50. package/dist/business/structuredPromptGenerator.d.ts.map +1 -0
  51. package/dist/business/structuredPromptGenerator.js +208 -0
  52. package/dist/business/structuredPromptGenerator.js.map +1 -0
  53. package/dist/business/templateNormalizer.d.ts +81 -0
  54. package/dist/business/templateNormalizer.d.ts.map +1 -0
  55. package/dist/business/templateNormalizer.js +659 -0
  56. package/dist/business/templateNormalizer.js.map +1 -0
  57. package/dist/documentation/apiContractValidation.d.ts +62 -0
  58. package/dist/documentation/apiContractValidation.d.ts.map +1 -0
  59. package/dist/documentation/apiContractValidation.js +305 -0
  60. package/dist/documentation/apiContractValidation.js.map +1 -0
  61. package/dist/infrastructure/concurrency/concurrencyManager.d.ts +101 -0
  62. package/dist/infrastructure/concurrency/concurrencyManager.d.ts.map +1 -0
  63. package/dist/infrastructure/concurrency/concurrencyManager.js +345 -0
  64. package/dist/infrastructure/concurrency/concurrencyManager.js.map +1 -0
  65. package/dist/infrastructure/config/secureConfigManager.d.ts +319 -0
  66. package/dist/infrastructure/config/secureConfigManager.d.ts.map +1 -0
  67. package/dist/infrastructure/config/secureConfigManager.js +600 -0
  68. package/dist/infrastructure/config/secureConfigManager.js.map +1 -0
  69. package/dist/infrastructure/errorHandling/orchestrationErrorHandler.d.ts +229 -0
  70. package/dist/infrastructure/errorHandling/orchestrationErrorHandler.d.ts.map +1 -0
  71. package/dist/infrastructure/errorHandling/orchestrationErrorHandler.js +61 -0
  72. package/dist/infrastructure/errorHandling/orchestrationErrorHandler.js.map +1 -0
  73. package/dist/infrastructure/errorHandling/orchestrationErrorHandlerImpl.d.ts +133 -0
  74. package/dist/infrastructure/errorHandling/orchestrationErrorHandlerImpl.d.ts.map +1 -0
  75. package/dist/infrastructure/errorHandling/orchestrationErrorHandlerImpl.js +569 -0
  76. package/dist/infrastructure/errorHandling/orchestrationErrorHandlerImpl.js.map +1 -0
  77. package/dist/infrastructure/mcp/MCPSamplingClient.d.ts +19 -0
  78. package/dist/infrastructure/mcp/MCPSamplingClient.d.ts.map +1 -0
  79. package/dist/infrastructure/mcp/MCPSamplingClient.js +31 -0
  80. package/dist/infrastructure/mcp/MCPSamplingClient.js.map +1 -0
  81. package/dist/infrastructure/mcp/RealMCPSamplingClient.d.ts +59 -0
  82. package/dist/infrastructure/mcp/RealMCPSamplingClient.d.ts.map +1 -0
  83. package/dist/infrastructure/mcp/RealMCPSamplingClient.js +271 -0
  84. package/dist/infrastructure/mcp/RealMCPSamplingClient.js.map +1 -0
  85. package/dist/infrastructure/metadata/generationMetadata.d.ts +72 -0
  86. package/dist/infrastructure/metadata/generationMetadata.d.ts.map +1 -0
  87. package/dist/infrastructure/metadata/generationMetadata.js +228 -0
  88. package/dist/infrastructure/metadata/generationMetadata.js.map +1 -0
  89. package/dist/infrastructure/monitoring/OrchestrationMetrics.d.ts +106 -0
  90. package/dist/infrastructure/monitoring/OrchestrationMetrics.d.ts.map +1 -0
  91. package/dist/infrastructure/monitoring/OrchestrationMetrics.js +456 -0
  92. package/dist/infrastructure/monitoring/OrchestrationMetrics.js.map +1 -0
  93. package/dist/infrastructure/monitoring/alertingSystem.d.ts +135 -0
  94. package/dist/infrastructure/monitoring/alertingSystem.d.ts.map +1 -0
  95. package/dist/infrastructure/monitoring/alertingSystem.js +549 -0
  96. package/dist/infrastructure/monitoring/alertingSystem.js.map +1 -0
  97. package/dist/infrastructure/optimization/performanceOptimizer.d.ts +89 -0
  98. package/dist/infrastructure/optimization/performanceOptimizer.d.ts.map +1 -0
  99. package/dist/infrastructure/optimization/performanceOptimizer.js +375 -0
  100. package/dist/infrastructure/optimization/performanceOptimizer.js.map +1 -0
  101. package/dist/infrastructure/security/AdvancedContentFilter.d.ts +99 -0
  102. package/dist/infrastructure/security/AdvancedContentFilter.d.ts.map +1 -0
  103. package/dist/infrastructure/security/AdvancedContentFilter.js +363 -0
  104. package/dist/infrastructure/security/AdvancedContentFilter.js.map +1 -0
  105. package/dist/infrastructure/security/MCPSecurityValidator.d.ts +62 -0
  106. package/dist/infrastructure/security/MCPSecurityValidator.d.ts.map +1 -0
  107. package/dist/infrastructure/security/MCPSecurityValidator.js +129 -0
  108. package/dist/infrastructure/security/MCPSecurityValidator.js.map +1 -0
  109. package/dist/infrastructure/security/OrchestrationSecurityMiddleware.d.ts +304 -0
  110. package/dist/infrastructure/security/OrchestrationSecurityMiddleware.d.ts.map +1 -0
  111. package/dist/infrastructure/security/OrchestrationSecurityMiddleware.js +61 -0
  112. package/dist/infrastructure/security/OrchestrationSecurityMiddleware.js.map +1 -0
  113. package/dist/infrastructure/security/OrchestrationSecurityMiddlewareImpl.d.ts +62 -0
  114. package/dist/infrastructure/security/OrchestrationSecurityMiddlewareImpl.d.ts.map +1 -0
  115. package/dist/infrastructure/security/OrchestrationSecurityMiddlewareImpl.js +591 -0
  116. package/dist/infrastructure/security/OrchestrationSecurityMiddlewareImpl.js.map +1 -0
  117. package/dist/infrastructure/security/SecureMCPClient.d.ts +154 -0
  118. package/dist/infrastructure/security/SecureMCPClient.d.ts.map +1 -0
  119. package/dist/infrastructure/security/SecureMCPClient.js +292 -0
  120. package/dist/infrastructure/security/SecureMCPClient.js.map +1 -0
  121. package/dist/infrastructure/security/SecurityIncidentManager.d.ts +142 -0
  122. package/dist/infrastructure/security/SecurityIncidentManager.d.ts.map +1 -0
  123. package/dist/infrastructure/security/SecurityIncidentManager.js +260 -0
  124. package/dist/infrastructure/security/SecurityIncidentManager.js.map +1 -0
  125. package/dist/infrastructure/security/apiKeyManager.d.ts +297 -0
  126. package/dist/infrastructure/security/apiKeyManager.d.ts.map +1 -0
  127. package/dist/infrastructure/security/apiKeyManager.js +254 -0
  128. package/dist/infrastructure/security/apiKeyManager.js.map +1 -0
  129. package/dist/infrastructure/security/dataSanitizer.d.ts +157 -0
  130. package/dist/infrastructure/security/dataSanitizer.d.ts.map +1 -0
  131. package/dist/infrastructure/security/dataSanitizer.js +525 -0
  132. package/dist/infrastructure/security/dataSanitizer.js.map +1 -0
  133. package/dist/infrastructure/validation/inputValidator.d.ts +54 -0
  134. package/dist/infrastructure/validation/inputValidator.d.ts.map +1 -0
  135. package/dist/infrastructure/validation/inputValidator.js +362 -0
  136. package/dist/infrastructure/validation/inputValidator.js.map +1 -0
  137. package/dist/integration/parameterOptimizer.d.ts +69 -0
  138. package/dist/integration/parameterOptimizer.d.ts.map +1 -0
  139. package/dist/integration/parameterOptimizer.js +317 -0
  140. package/dist/integration/parameterOptimizer.js.map +1 -0
  141. package/dist/integration/twoStageProcessor.d.ts +66 -0
  142. package/dist/integration/twoStageProcessor.d.ts.map +1 -0
  143. package/dist/integration/twoStageProcessor.js +348 -0
  144. package/dist/integration/twoStageProcessor.js.map +1 -0
  145. package/dist/server/handlers/structuredPromptHandler.d.ts +65 -0
  146. package/dist/server/handlers/structuredPromptHandler.d.ts.map +1 -0
  147. package/dist/server/handlers/structuredPromptHandler.js +314 -0
  148. package/dist/server/handlers/structuredPromptHandler.js.map +1 -0
  149. package/dist/server/mcpServer.d.ts +16 -35
  150. package/dist/server/mcpServer.d.ts.map +1 -1
  151. package/dist/server/mcpServer.js +111 -150
  152. package/dist/server/mcpServer.js.map +1 -1
  153. package/dist/server/mcpServerWithOrchestration.d.ts +98 -0
  154. package/dist/server/mcpServerWithOrchestration.d.ts.map +1 -0
  155. package/dist/server/mcpServerWithOrchestration.js +284 -0
  156. package/dist/server/mcpServerWithOrchestration.js.map +1 -0
  157. package/dist/types/mcpOrchestrationTypes.d.ts +135 -0
  158. package/dist/types/mcpOrchestrationTypes.d.ts.map +1 -0
  159. package/dist/types/mcpOrchestrationTypes.js +28 -0
  160. package/dist/types/mcpOrchestrationTypes.js.map +1 -0
  161. package/dist/types/multiImageTypes.d.ts +328 -0
  162. package/dist/types/multiImageTypes.d.ts.map +1 -0
  163. package/dist/types/multiImageTypes.js +27 -0
  164. package/dist/types/multiImageTypes.js.map +1 -0
  165. package/dist/types/performanceTypes.d.ts +300 -0
  166. package/dist/types/performanceTypes.d.ts.map +1 -0
  167. package/dist/types/performanceTypes.js +50 -0
  168. package/dist/types/performanceTypes.js.map +1 -0
  169. package/dist/types/twoStageTypes.d.ts +123 -0
  170. package/dist/types/twoStageTypes.d.ts.map +1 -0
  171. package/dist/types/twoStageTypes.js +7 -0
  172. package/dist/types/twoStageTypes.js.map +1 -0
  173. package/dist/utils/config.d.ts +1 -0
  174. package/dist/utils/config.d.ts.map +1 -1
  175. package/dist/utils/config.js +1 -0
  176. package/dist/utils/config.js.map +1 -1
  177. package/package.json +11 -4
  178. package/vitest.config.mjs +0 -47
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ /**
3
+ * Performance monitoring and optimization type definitions
4
+ * Provides comprehensive monitoring capabilities for structured prompt generation
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.ReportingPeriod = exports.AlertType = exports.FallbackTier = exports.ProcessingStage = void 0;
8
+ /**
9
+ * Processing stages for performance measurement
10
+ */
11
+ var ProcessingStage;
12
+ (function (ProcessingStage) {
13
+ ProcessingStage["PROMPT_GENERATION"] = "prompt_generation";
14
+ ProcessingStage["IMAGE_GENERATION"] = "image_generation";
15
+ ProcessingStage["POML_PROCESSING"] = "poml_processing";
16
+ ProcessingStage["BEST_PRACTICES"] = "best_practices";
17
+ ProcessingStage["FALLBACK_PROCESSING"] = "fallback_processing";
18
+ ProcessingStage["TOTAL_PROCESSING"] = "total_processing";
19
+ })(ProcessingStage || (exports.ProcessingStage = ProcessingStage = {}));
20
+ /**
21
+ * Fallback tier classification for monitoring
22
+ */
23
+ var FallbackTier;
24
+ (function (FallbackTier) {
25
+ FallbackTier["NO_FALLBACK"] = "no_fallback";
26
+ FallbackTier["REDUCED_FEATURES"] = "reduced_features";
27
+ FallbackTier["MINIMAL_PROCESSING"] = "minimal_processing";
28
+ FallbackTier["DIRECT_PROMPT"] = "direct_prompt";
29
+ })(FallbackTier || (exports.FallbackTier = FallbackTier = {}));
30
+ /**
31
+ * Alert types for monitoring system
32
+ */
33
+ var AlertType;
34
+ (function (AlertType) {
35
+ AlertType["PERFORMANCE_DEGRADATION"] = "performance_degradation";
36
+ AlertType["COST_THRESHOLD"] = "cost_threshold";
37
+ AlertType["ERROR_RATE"] = "error_rate";
38
+ AlertType["RESOURCE_EXHAUSTION"] = "resource_exhaustion";
39
+ })(AlertType || (exports.AlertType = AlertType = {}));
40
+ /**
41
+ * Reporting period options
42
+ */
43
+ var ReportingPeriod;
44
+ (function (ReportingPeriod) {
45
+ ReportingPeriod["LAST_HOUR"] = "last_hour";
46
+ ReportingPeriod["LAST_DAY"] = "last_day";
47
+ ReportingPeriod["LAST_WEEK"] = "last_week";
48
+ ReportingPeriod["LAST_MONTH"] = "last_month";
49
+ })(ReportingPeriod || (exports.ReportingPeriod = ReportingPeriod = {}));
50
+ //# sourceMappingURL=performanceTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performanceTypes.js","sourceRoot":"","sources":["../../src/types/performanceTypes.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH;;GAEG;AACH,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,0DAAuC,CAAA;IACvC,wDAAqC,CAAA;IACrC,sDAAmC,CAAA;IACnC,oDAAiC,CAAA;IACjC,8DAA2C,CAAA;IAC3C,wDAAqC,CAAA;AACvC,CAAC,EAPW,eAAe,+BAAf,eAAe,QAO1B;AAED;;GAEG;AACH,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,2CAA2B,CAAA;IAC3B,qDAAqC,CAAA;IACrC,yDAAyC,CAAA;IACzC,+CAA+B,CAAA;AACjC,CAAC,EALW,YAAY,4BAAZ,YAAY,QAKvB;AAED;;GAEG;AACH,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,gEAAmD,CAAA;IACnD,8CAAiC,CAAA;IACjC,sCAAyB,CAAA;IACzB,wDAA2C,CAAA;AAC7C,CAAC,EALW,SAAS,yBAAT,SAAS,QAKpB;AAkDD;;GAEG;AACH,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,0CAAuB,CAAA;IACvB,wCAAqB,CAAA;IACrB,0CAAuB,CAAA;IACvB,4CAAyB,CAAA;AAC3B,CAAC,EALW,eAAe,+BAAf,eAAe,QAK1B"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Type definitions for 2-stage processing integration
3
+ * Defines types for coordinating structured prompt generation with image generation
4
+ */
5
+ import type { GeneratedImageResult } from '../api/geminiClient';
6
+ import type { OrchestrationOptions, OrchestrationResult } from '../business/promptOrchestrator';
7
+ import type { GeminiAPIError, NetworkError } from '../utils/errors';
8
+ import type { Result } from './result';
9
+ /**
10
+ * Image generation request with orchestration options
11
+ */
12
+ export interface ImageGenerationRequest {
13
+ originalPrompt: string;
14
+ orchestrationOptions?: OrchestrationOptions;
15
+ imageParameters?: ImageParameters;
16
+ }
17
+ /**
18
+ * Base image generation parameters
19
+ */
20
+ export interface ImageParameters {
21
+ inputImage?: Buffer;
22
+ blendImages?: boolean;
23
+ maintainCharacterConsistency?: boolean;
24
+ useWorldKnowledge?: boolean;
25
+ aspectRatio?: string;
26
+ quality?: 'low' | 'medium' | 'high';
27
+ style?: 'enhanced' | 'natural' | 'artistic';
28
+ }
29
+ /**
30
+ * Optimized parameters based on structured prompt analysis
31
+ */
32
+ export interface OptimizedParameters extends ImageParameters {
33
+ additionalParameters?: Record<string, unknown>;
34
+ optimizationReasons?: string[];
35
+ }
36
+ /**
37
+ * Metadata for individual processing stages
38
+ */
39
+ export interface StageMetadata {
40
+ stageName: string;
41
+ status: 'pending' | 'processing' | 'completed' | 'failed';
42
+ startTime: Date;
43
+ endTime?: Date;
44
+ processingTime?: number;
45
+ error?: Error;
46
+ inputData?: unknown;
47
+ outputData?: unknown;
48
+ }
49
+ /**
50
+ * Complete processing metadata for 2-stage workflow
51
+ */
52
+ export interface ProcessingMetadata {
53
+ sessionId: string;
54
+ originalPrompt: string;
55
+ stages: StageMetadata[];
56
+ totalProcessingTime: number;
57
+ promptEnhancementTime: number;
58
+ imageGenerationTime: number;
59
+ appliedOptimizations: string[];
60
+ fallbackUsed: boolean;
61
+ timestamp: Date;
62
+ }
63
+ /**
64
+ * Result of complete 2-stage processing
65
+ */
66
+ export interface TwoStageResult {
67
+ originalPrompt: string;
68
+ structuredPrompt: string;
69
+ generatedImage: GeneratedImageResult;
70
+ processingMetadata: ProcessingMetadata;
71
+ optimizedParameters: OptimizedParameters;
72
+ orchestrationResult: OrchestrationResult;
73
+ success: boolean;
74
+ }
75
+ /**
76
+ * Interface for parameter optimization based on structured prompts
77
+ */
78
+ export interface ParameterOptimizer {
79
+ optimizeForStructuredPrompt(structuredPrompt: string, baseParams: ImageParameters): Promise<Result<OptimizedParameters, GeminiAPIError>>;
80
+ analyzePromptCharacteristics(prompt: string): PromptCharacteristics;
81
+ }
82
+ /**
83
+ * Analysis result of prompt characteristics for optimization
84
+ */
85
+ export interface PromptCharacteristics {
86
+ complexity: 'simple' | 'medium' | 'complex';
87
+ contentType: 'portrait' | 'landscape' | 'object' | 'scene' | 'abstract';
88
+ suggestedAspectRatio: string;
89
+ suggestedQuality: 'low' | 'medium' | 'high';
90
+ suggestedStyle: 'enhanced' | 'natural' | 'artistic';
91
+ detectedElements: string[];
92
+ recommendedFeatures: {
93
+ blendImages?: boolean;
94
+ maintainCharacterConsistency?: boolean;
95
+ useWorldKnowledge?: boolean;
96
+ };
97
+ }
98
+ /**
99
+ * Main interface for 2-stage processing coordination
100
+ */
101
+ export interface TwoStageProcessor {
102
+ generateImageWithStructuredPrompt(request: ImageGenerationRequest): Promise<Result<TwoStageResult, GeminiAPIError | NetworkError>>;
103
+ optimizeImageParameters(structuredPrompt: string, baseParams: ImageParameters): Promise<Result<OptimizedParameters, GeminiAPIError>>;
104
+ getProcessingMetadata(sessionId: string): ProcessingMetadata | undefined;
105
+ validateConfiguration(): Promise<Result<boolean, GeminiAPIError>>;
106
+ }
107
+ /**
108
+ * Options for 2-stage processor configuration
109
+ */
110
+ export interface TwoStageProcessorOptions {
111
+ maxProcessingTime: number;
112
+ enableParameterOptimization: boolean;
113
+ enableMetadataCollection: boolean;
114
+ fallbackStrategy: 'primary' | 'secondary' | 'tertiary';
115
+ performanceTarget: number;
116
+ }
117
+ /**
118
+ * Factory interface for dependency injection
119
+ */
120
+ export interface TwoStageProcessorFactory {
121
+ create(options?: TwoStageProcessorOptions): TwoStageProcessor;
122
+ }
123
+ //# sourceMappingURL=twoStageTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twoStageTypes.d.ts","sourceRoot":"","sources":["../../src/types/twoStageTypes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * Type definitions for 2-stage processing integration
4
+ * Defines types for coordinating structured prompt generation with image generation
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=twoStageTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twoStageTypes.js","sourceRoot":"","sources":["../../src/types/twoStageTypes.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -11,6 +11,7 @@ export interface Config {
11
11
  geminiApiKey: string;
12
12
  imageOutputDir: string;
13
13
  apiTimeout: number;
14
+ skipPromptEnhancement: boolean;
14
15
  }
15
16
  /**
16
17
  * Validates the configuration
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAE7C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAEtC;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;CACnB;AAUD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAyC1E;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAQvD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAE7C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAEtC;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,qBAAqB,EAAE,OAAO,CAAA;CAC/B;AAUD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAyC1E;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CASvD"}
@@ -47,6 +47,7 @@ function getConfig() {
47
47
  geminiApiKey: process.env['GEMINI_API_KEY'] || '',
48
48
  imageOutputDir: process.env['IMAGE_OUTPUT_DIR'] || DEFAULT_CONFIG.imageOutputDir,
49
49
  apiTimeout: DEFAULT_CONFIG.apiTimeout,
50
+ skipPromptEnhancement: process.env['SKIP_PROMPT_ENHANCEMENT'] === 'true',
50
51
  };
51
52
  return validateConfig(config);
52
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AA4BH,wCAyCC;AAMD,8BAQC;AAhFD,4CAAyC;AACzC,qCAAsC;AAWtC;;GAEG;AACH,MAAM,cAAc,GAAG;IACrB,cAAc,EAAE,UAAU;IAC1B,UAAU,EAAE,KAAK,EAAE,aAAa;CACxB,CAAA;AAEV;;;;GAIG;AACH,SAAgB,cAAc,CAAC,MAAc;IAC3C,0BAA0B;IAC1B,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpE,OAAO,IAAA,YAAG,EACR,IAAI,oBAAW,CACb,6CAA6C,EAC7C,qEAAqE,CACtE,CACF,CAAA;IACH,CAAC;IAED,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACpC,OAAO,IAAA,YAAG,EACR,IAAI,oBAAW,CACb,uEAAuE,EACvE,6EAA6E,CAC9E,CACF,CAAA;IACH,CAAC;IAED,sBAAsB;IACtB,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAA,YAAG,EACR,IAAI,oBAAW,CACb,uCAAuC,EACvC,2EAA2E,CAC5E,CACF,CAAA;IACH,CAAC;IAED,2DAA2D;IAC3D,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxE,OAAO,IAAA,YAAG,EACR,IAAI,oBAAW,CACb,kCAAkC,EAClC,gDAAgD,CACjD,CACF,CAAA;IACH,CAAC;IAED,OAAO,IAAA,WAAE,EAAC,MAAM,CAAC,CAAA;AACnB,CAAC;AAED;;;GAGG;AACH,SAAgB,SAAS;IACvB,MAAM,MAAM,GAAW;QACrB,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE;QACjD,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,cAAc,CAAC,cAAc;QAChF,UAAU,EAAE,cAAc,CAAC,UAAU;KACtC,CAAA;IAED,OAAO,cAAc,CAAC,MAAM,CAAC,CAAA;AAC/B,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AA6BH,wCAyCC;AAMD,8BASC;AAlFD,4CAAyC;AACzC,qCAAsC;AAYtC;;GAEG;AACH,MAAM,cAAc,GAAG;IACrB,cAAc,EAAE,UAAU;IAC1B,UAAU,EAAE,KAAK,EAAE,aAAa;CACxB,CAAA;AAEV;;;;GAIG;AACH,SAAgB,cAAc,CAAC,MAAc;IAC3C,0BAA0B;IAC1B,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpE,OAAO,IAAA,YAAG,EACR,IAAI,oBAAW,CACb,6CAA6C,EAC7C,qEAAqE,CACtE,CACF,CAAA;IACH,CAAC;IAED,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACpC,OAAO,IAAA,YAAG,EACR,IAAI,oBAAW,CACb,uEAAuE,EACvE,6EAA6E,CAC9E,CACF,CAAA;IACH,CAAC;IAED,sBAAsB;IACtB,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAA,YAAG,EACR,IAAI,oBAAW,CACb,uCAAuC,EACvC,2EAA2E,CAC5E,CACF,CAAA;IACH,CAAC;IAED,2DAA2D;IAC3D,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxE,OAAO,IAAA,YAAG,EACR,IAAI,oBAAW,CACb,kCAAkC,EAClC,gDAAgD,CACjD,CACF,CAAA;IACH,CAAC;IAED,OAAO,IAAA,WAAE,EAAC,MAAM,CAAC,CAAA;AACnB,CAAC;AAED;;;GAGG;AACH,SAAgB,SAAS;IACvB,MAAM,MAAM,GAAW;QACrB,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE;QACjD,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,cAAc,CAAC,cAAc;QAChF,UAAU,EAAE,cAAc,CAAC,UAAU;QACrC,qBAAqB,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,KAAK,MAAM;KACzE,CAAA;IAED,OAAO,cAAc,CAAC,MAAM,CAAC,CAAA;AAC/B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcp-image",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "MCP server for AI image generation",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -19,6 +19,13 @@
19
19
  "type": "git",
20
20
  "url": "https://github.com/shinpr/mcp-image.git"
21
21
  },
22
+ "files": [
23
+ "dist/**/*",
24
+ "!dist/**/*.test.js",
25
+ "!dist/**/*.test.d.ts",
26
+ "!dist/__tests__",
27
+ "!dist/tests"
28
+ ],
22
29
  "scripts": {
23
30
  "build": "tsc && tsc-alias",
24
31
  "link": "npm run build && npm link",
@@ -41,8 +48,8 @@
41
48
  "test:safe": "npm test && npm run cleanup:processes"
42
49
  },
43
50
  "dependencies": {
44
- "@modelcontextprotocol/sdk": "^1.0.0",
45
- "@google/genai": "^1.16.0"
51
+ "@google/genai": "^1.17.0",
52
+ "@modelcontextprotocol/sdk": "^1.0.0"
46
53
  },
47
54
  "devDependencies": {
48
55
  "@biomejs/biome": "^1.9.4",
@@ -70,4 +77,4 @@
70
77
  "biome format --write --no-errors-on-unmatched"
71
78
  ]
72
79
  }
73
- }
80
+ }
package/vitest.config.mjs DELETED
@@ -1,47 +0,0 @@
1
- import { defineConfig } from 'vitest/config'
2
- import path from 'path'
3
- import { fileURLToPath } from 'url'
4
-
5
- const __filename = fileURLToPath(import.meta.url)
6
- const __dirname = path.dirname(__filename)
7
-
8
- export default defineConfig({
9
- test: {
10
- globals: true,
11
- environment: 'node',
12
- // Process management improvements
13
- testTimeout: 10000, // 10 second timeout
14
- hookTimeout: 10000, // Hook processing timeout 10 seconds
15
- teardownTimeout: 5000, // Teardown timeout 5 seconds
16
- pool: 'threads', // Explicit process pool specification
17
- poolOptions: {
18
- threads: {
19
- singleThread: false, // Allow parallel execution
20
- isolate: true, // Isolate between tests
21
- }
22
- },
23
- coverage: {
24
- enabled: false, // Disable coverage by default
25
- provider: 'v8',
26
- reporter: ['text', 'json', 'html', 'lcov'],
27
- reportsDirectory: './coverage',
28
- clean: true, // Clear coverage files to prevent process residue
29
- include: ['src/**/*.{js,ts,jsx,tsx}'],
30
- exclude: [
31
- 'node_modules/**',
32
- 'dist/**',
33
- '**/*.d.ts',
34
- '**/*.config.*',
35
- '**/mockData/**',
36
- '**/__mocks__/**',
37
- ],
38
- // No coverage thresholds set for boilerplate
39
- // Set appropriate values for each project
40
- },
41
- },
42
- resolve: {
43
- alias: {
44
- src: path.resolve(__dirname, './src'),
45
- },
46
- },
47
- })