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.
- package/README.md +41 -17
- package/dist/api/geminiClient.d.ts +2 -12
- package/dist/api/geminiClient.d.ts.map +1 -1
- package/dist/api/geminiClient.js +28 -56
- package/dist/api/geminiClient.js.map +1 -1
- package/dist/api/geminiTextClient.d.ts +42 -0
- package/dist/api/geminiTextClient.d.ts.map +1 -0
- package/dist/api/geminiTextClient.js +198 -0
- package/dist/api/geminiTextClient.js.map +1 -0
- package/dist/business/__tests__/mocks/mcpSamplingClient.mock.d.ts +84 -0
- package/dist/business/__tests__/mocks/mcpSamplingClient.mock.d.ts.map +1 -0
- package/dist/business/__tests__/mocks/mcpSamplingClient.mock.js +100 -0
- package/dist/business/__tests__/mocks/mcpSamplingClient.mock.js.map +1 -0
- package/dist/business/bestPracticesEngine.d.ts +149 -0
- package/dist/business/bestPracticesEngine.d.ts.map +1 -0
- package/dist/business/bestPracticesEngine.js +781 -0
- package/dist/business/bestPracticesEngine.js.map +1 -0
- package/dist/business/complexityAssessment.d.ts +132 -0
- package/dist/business/complexityAssessment.d.ts.map +1 -0
- package/dist/business/complexityAssessment.js +488 -0
- package/dist/business/complexityAssessment.js.map +1 -0
- package/dist/business/fallbackStrategies.d.ts +177 -0
- package/dist/business/fallbackStrategies.d.ts.map +1 -0
- package/dist/business/fallbackStrategies.js +368 -0
- package/dist/business/fallbackStrategies.js.map +1 -0
- package/dist/business/imageGenerator.d.ts.map +1 -1
- package/dist/business/imageGenerator.js +26 -5
- package/dist/business/imageGenerator.js.map +1 -1
- package/dist/business/multiImage/aspectRatioController.d.ts +77 -0
- package/dist/business/multiImage/aspectRatioController.d.ts.map +1 -0
- package/dist/business/multiImage/aspectRatioController.js +580 -0
- package/dist/business/multiImage/aspectRatioController.js.map +1 -0
- package/dist/business/multiImage/multiImageCoordinator.d.ts +142 -0
- package/dist/business/multiImage/multiImageCoordinator.d.ts.map +1 -0
- package/dist/business/multiImage/multiImageCoordinator.js +801 -0
- package/dist/business/multiImage/multiImageCoordinator.js.map +1 -0
- package/dist/business/pomlTemplateEngine.d.ts +206 -0
- package/dist/business/pomlTemplateEngine.d.ts.map +1 -0
- package/dist/business/pomlTemplateEngine.js +737 -0
- package/dist/business/pomlTemplateEngine.js.map +1 -0
- package/dist/business/promptOrchestrator.d.ts +173 -0
- package/dist/business/promptOrchestrator.d.ts.map +1 -0
- package/dist/business/promptOrchestrator.js +490 -0
- package/dist/business/promptOrchestrator.js.map +1 -0
- package/dist/business/responseBuilder.d.ts +2 -2
- package/dist/business/responseBuilder.d.ts.map +1 -1
- package/dist/business/responseBuilder.js +6 -1
- package/dist/business/responseBuilder.js.map +1 -1
- package/dist/business/structuredPromptGenerator.d.ts +54 -0
- package/dist/business/structuredPromptGenerator.d.ts.map +1 -0
- package/dist/business/structuredPromptGenerator.js +208 -0
- package/dist/business/structuredPromptGenerator.js.map +1 -0
- package/dist/business/templateNormalizer.d.ts +81 -0
- package/dist/business/templateNormalizer.d.ts.map +1 -0
- package/dist/business/templateNormalizer.js +659 -0
- package/dist/business/templateNormalizer.js.map +1 -0
- package/dist/documentation/apiContractValidation.d.ts +62 -0
- package/dist/documentation/apiContractValidation.d.ts.map +1 -0
- package/dist/documentation/apiContractValidation.js +305 -0
- package/dist/documentation/apiContractValidation.js.map +1 -0
- package/dist/infrastructure/concurrency/concurrencyManager.d.ts +101 -0
- package/dist/infrastructure/concurrency/concurrencyManager.d.ts.map +1 -0
- package/dist/infrastructure/concurrency/concurrencyManager.js +345 -0
- package/dist/infrastructure/concurrency/concurrencyManager.js.map +1 -0
- package/dist/infrastructure/config/secureConfigManager.d.ts +319 -0
- package/dist/infrastructure/config/secureConfigManager.d.ts.map +1 -0
- package/dist/infrastructure/config/secureConfigManager.js +600 -0
- package/dist/infrastructure/config/secureConfigManager.js.map +1 -0
- package/dist/infrastructure/errorHandling/orchestrationErrorHandler.d.ts +229 -0
- package/dist/infrastructure/errorHandling/orchestrationErrorHandler.d.ts.map +1 -0
- package/dist/infrastructure/errorHandling/orchestrationErrorHandler.js +61 -0
- package/dist/infrastructure/errorHandling/orchestrationErrorHandler.js.map +1 -0
- package/dist/infrastructure/errorHandling/orchestrationErrorHandlerImpl.d.ts +133 -0
- package/dist/infrastructure/errorHandling/orchestrationErrorHandlerImpl.d.ts.map +1 -0
- package/dist/infrastructure/errorHandling/orchestrationErrorHandlerImpl.js +569 -0
- package/dist/infrastructure/errorHandling/orchestrationErrorHandlerImpl.js.map +1 -0
- package/dist/infrastructure/mcp/MCPSamplingClient.d.ts +19 -0
- package/dist/infrastructure/mcp/MCPSamplingClient.d.ts.map +1 -0
- package/dist/infrastructure/mcp/MCPSamplingClient.js +31 -0
- package/dist/infrastructure/mcp/MCPSamplingClient.js.map +1 -0
- package/dist/infrastructure/mcp/RealMCPSamplingClient.d.ts +59 -0
- package/dist/infrastructure/mcp/RealMCPSamplingClient.d.ts.map +1 -0
- package/dist/infrastructure/mcp/RealMCPSamplingClient.js +271 -0
- package/dist/infrastructure/mcp/RealMCPSamplingClient.js.map +1 -0
- package/dist/infrastructure/metadata/generationMetadata.d.ts +72 -0
- package/dist/infrastructure/metadata/generationMetadata.d.ts.map +1 -0
- package/dist/infrastructure/metadata/generationMetadata.js +228 -0
- package/dist/infrastructure/metadata/generationMetadata.js.map +1 -0
- package/dist/infrastructure/monitoring/OrchestrationMetrics.d.ts +106 -0
- package/dist/infrastructure/monitoring/OrchestrationMetrics.d.ts.map +1 -0
- package/dist/infrastructure/monitoring/OrchestrationMetrics.js +456 -0
- package/dist/infrastructure/monitoring/OrchestrationMetrics.js.map +1 -0
- package/dist/infrastructure/monitoring/alertingSystem.d.ts +135 -0
- package/dist/infrastructure/monitoring/alertingSystem.d.ts.map +1 -0
- package/dist/infrastructure/monitoring/alertingSystem.js +549 -0
- package/dist/infrastructure/monitoring/alertingSystem.js.map +1 -0
- package/dist/infrastructure/optimization/performanceOptimizer.d.ts +89 -0
- package/dist/infrastructure/optimization/performanceOptimizer.d.ts.map +1 -0
- package/dist/infrastructure/optimization/performanceOptimizer.js +375 -0
- package/dist/infrastructure/optimization/performanceOptimizer.js.map +1 -0
- package/dist/infrastructure/security/AdvancedContentFilter.d.ts +99 -0
- package/dist/infrastructure/security/AdvancedContentFilter.d.ts.map +1 -0
- package/dist/infrastructure/security/AdvancedContentFilter.js +363 -0
- package/dist/infrastructure/security/AdvancedContentFilter.js.map +1 -0
- package/dist/infrastructure/security/MCPSecurityValidator.d.ts +62 -0
- package/dist/infrastructure/security/MCPSecurityValidator.d.ts.map +1 -0
- package/dist/infrastructure/security/MCPSecurityValidator.js +129 -0
- package/dist/infrastructure/security/MCPSecurityValidator.js.map +1 -0
- package/dist/infrastructure/security/OrchestrationSecurityMiddleware.d.ts +304 -0
- package/dist/infrastructure/security/OrchestrationSecurityMiddleware.d.ts.map +1 -0
- package/dist/infrastructure/security/OrchestrationSecurityMiddleware.js +61 -0
- package/dist/infrastructure/security/OrchestrationSecurityMiddleware.js.map +1 -0
- package/dist/infrastructure/security/OrchestrationSecurityMiddlewareImpl.d.ts +62 -0
- package/dist/infrastructure/security/OrchestrationSecurityMiddlewareImpl.d.ts.map +1 -0
- package/dist/infrastructure/security/OrchestrationSecurityMiddlewareImpl.js +591 -0
- package/dist/infrastructure/security/OrchestrationSecurityMiddlewareImpl.js.map +1 -0
- package/dist/infrastructure/security/SecureMCPClient.d.ts +154 -0
- package/dist/infrastructure/security/SecureMCPClient.d.ts.map +1 -0
- package/dist/infrastructure/security/SecureMCPClient.js +292 -0
- package/dist/infrastructure/security/SecureMCPClient.js.map +1 -0
- package/dist/infrastructure/security/SecurityIncidentManager.d.ts +142 -0
- package/dist/infrastructure/security/SecurityIncidentManager.d.ts.map +1 -0
- package/dist/infrastructure/security/SecurityIncidentManager.js +260 -0
- package/dist/infrastructure/security/SecurityIncidentManager.js.map +1 -0
- package/dist/infrastructure/security/apiKeyManager.d.ts +297 -0
- package/dist/infrastructure/security/apiKeyManager.d.ts.map +1 -0
- package/dist/infrastructure/security/apiKeyManager.js +254 -0
- package/dist/infrastructure/security/apiKeyManager.js.map +1 -0
- package/dist/infrastructure/security/dataSanitizer.d.ts +157 -0
- package/dist/infrastructure/security/dataSanitizer.d.ts.map +1 -0
- package/dist/infrastructure/security/dataSanitizer.js +525 -0
- package/dist/infrastructure/security/dataSanitizer.js.map +1 -0
- package/dist/infrastructure/validation/inputValidator.d.ts +54 -0
- package/dist/infrastructure/validation/inputValidator.d.ts.map +1 -0
- package/dist/infrastructure/validation/inputValidator.js +362 -0
- package/dist/infrastructure/validation/inputValidator.js.map +1 -0
- package/dist/integration/parameterOptimizer.d.ts +69 -0
- package/dist/integration/parameterOptimizer.d.ts.map +1 -0
- package/dist/integration/parameterOptimizer.js +317 -0
- package/dist/integration/parameterOptimizer.js.map +1 -0
- package/dist/integration/twoStageProcessor.d.ts +66 -0
- package/dist/integration/twoStageProcessor.d.ts.map +1 -0
- package/dist/integration/twoStageProcessor.js +348 -0
- package/dist/integration/twoStageProcessor.js.map +1 -0
- package/dist/server/handlers/structuredPromptHandler.d.ts +65 -0
- package/dist/server/handlers/structuredPromptHandler.d.ts.map +1 -0
- package/dist/server/handlers/structuredPromptHandler.js +314 -0
- package/dist/server/handlers/structuredPromptHandler.js.map +1 -0
- package/dist/server/mcpServer.d.ts +16 -35
- package/dist/server/mcpServer.d.ts.map +1 -1
- package/dist/server/mcpServer.js +111 -150
- package/dist/server/mcpServer.js.map +1 -1
- package/dist/server/mcpServerWithOrchestration.d.ts +98 -0
- package/dist/server/mcpServerWithOrchestration.d.ts.map +1 -0
- package/dist/server/mcpServerWithOrchestration.js +284 -0
- package/dist/server/mcpServerWithOrchestration.js.map +1 -0
- package/dist/types/mcpOrchestrationTypes.d.ts +135 -0
- package/dist/types/mcpOrchestrationTypes.d.ts.map +1 -0
- package/dist/types/mcpOrchestrationTypes.js +28 -0
- package/dist/types/mcpOrchestrationTypes.js.map +1 -0
- package/dist/types/multiImageTypes.d.ts +328 -0
- package/dist/types/multiImageTypes.d.ts.map +1 -0
- package/dist/types/multiImageTypes.js +27 -0
- package/dist/types/multiImageTypes.js.map +1 -0
- package/dist/types/performanceTypes.d.ts +300 -0
- package/dist/types/performanceTypes.d.ts.map +1 -0
- package/dist/types/performanceTypes.js +50 -0
- package/dist/types/performanceTypes.js.map +1 -0
- package/dist/types/twoStageTypes.d.ts +123 -0
- package/dist/types/twoStageTypes.d.ts.map +1 -0
- package/dist/types/twoStageTypes.js +7 -0
- package/dist/types/twoStageTypes.js.map +1 -0
- package/dist/utils/config.d.ts +1 -0
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +1 -0
- package/dist/utils/config.js.map +1 -1
- package/package.json +11 -4
- package/vitest.config.mjs +0 -47
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Structured Prompt Handler for MCP server
|
|
4
|
+
* Handles orchestration integration with progress notifications and fallback mechanisms
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.StructuredPromptHandler = void 0;
|
|
8
|
+
const mcpOrchestrationTypes_1 = require("../../types/mcpOrchestrationTypes");
|
|
9
|
+
const result_1 = require("../../types/result");
|
|
10
|
+
const errors_1 = require("../../utils/errors");
|
|
11
|
+
const logger_1 = require("../../utils/logger");
|
|
12
|
+
/**
|
|
13
|
+
* Structured Prompt Handler implementation
|
|
14
|
+
* Manages orchestration requests with progress notifications and error handling
|
|
15
|
+
*/
|
|
16
|
+
class StructuredPromptHandler {
|
|
17
|
+
constructor(orchestrator, initialConfig = {}, dependencies = {}) {
|
|
18
|
+
this.orchestrator = orchestrator;
|
|
19
|
+
this.config = { ...mcpOrchestrationTypes_1.DEFAULT_ORCHESTRATION_CONFIG, ...initialConfig };
|
|
20
|
+
this.logger = dependencies.logger || new logger_1.Logger();
|
|
21
|
+
this.status = this.initializeStatus();
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Process structured prompt request with orchestration
|
|
25
|
+
*/
|
|
26
|
+
async processStructuredPrompt(prompt, options = {}, server, progressToken) {
|
|
27
|
+
const startTime = new Date();
|
|
28
|
+
// Detailed start logging
|
|
29
|
+
this.logger.info('structured-prompt-handler-debug', 'processStructuredPrompt STARTED', {
|
|
30
|
+
prompt,
|
|
31
|
+
promptLength: prompt.length,
|
|
32
|
+
options,
|
|
33
|
+
hasServer: !!server,
|
|
34
|
+
hasProgressToken: !!progressToken,
|
|
35
|
+
progressNotificationsEnabled: this.config.progressNotifications,
|
|
36
|
+
orchestratorAvailable: !!this.orchestrator
|
|
37
|
+
});
|
|
38
|
+
try {
|
|
39
|
+
this.status.statistics.totalAttempts++;
|
|
40
|
+
// Send initial progress notification
|
|
41
|
+
if (server && progressToken && this.config.progressNotifications) {
|
|
42
|
+
await this.sendProgressNotification(server, progressToken, {
|
|
43
|
+
stage: 'starting',
|
|
44
|
+
message: 'Starting structured prompt generation...',
|
|
45
|
+
progress: 0,
|
|
46
|
+
total: 100,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
// Convert mode to orchestration options
|
|
50
|
+
const orchestrationOptions = this.mergeWithModeOptions(options);
|
|
51
|
+
this.logger.info('structured-prompt-handler-debug', 'Orchestration options merged', {
|
|
52
|
+
originalOptions: options,
|
|
53
|
+
mergedOptions: orchestrationOptions
|
|
54
|
+
});
|
|
55
|
+
// POML Processing stage
|
|
56
|
+
if (server && progressToken && this.config.progressNotifications) {
|
|
57
|
+
await this.sendProgressNotification(server, progressToken, {
|
|
58
|
+
stage: 'poml_processing',
|
|
59
|
+
message: 'Applying POML template structure...',
|
|
60
|
+
progress: 25,
|
|
61
|
+
total: 100,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
// Best Practices stage
|
|
65
|
+
if (server && progressToken && this.config.progressNotifications) {
|
|
66
|
+
await this.sendProgressNotification(server, progressToken, {
|
|
67
|
+
stage: 'best_practices_applying',
|
|
68
|
+
message: 'Applying best practices enhancement...',
|
|
69
|
+
progress: 60,
|
|
70
|
+
total: 100,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
this.logger.info('structured-prompt-handler-debug', 'Calling orchestrator.generateStructuredPrompt', {
|
|
74
|
+
prompt,
|
|
75
|
+
orchestrationOptions,
|
|
76
|
+
orchestratorType: this.orchestrator.constructor.name
|
|
77
|
+
});
|
|
78
|
+
// Execute orchestration
|
|
79
|
+
const result = await this.orchestrator.generateStructuredPrompt(prompt, orchestrationOptions);
|
|
80
|
+
this.logger.info('structured-prompt-handler-debug', 'Orchestrator.generateStructuredPrompt COMPLETED', {
|
|
81
|
+
success: result.success,
|
|
82
|
+
hasData: result.success ? !!result.data : false,
|
|
83
|
+
errorMessage: result.success ? null : result.error?.message,
|
|
84
|
+
errorType: result.success ? null : result.error?.constructor.name,
|
|
85
|
+
originalPrompt: prompt,
|
|
86
|
+
resultPrompt: result.success ? result.data.structuredPrompt : null,
|
|
87
|
+
promptChanged: result.success ? prompt !== result.data.structuredPrompt : false
|
|
88
|
+
});
|
|
89
|
+
if (!result.success) {
|
|
90
|
+
this.logger.error('structured-prompt-handler-debug', 'Orchestrator failed - calling handleOrchestrationFailure', {
|
|
91
|
+
errorMessage: result.error.message,
|
|
92
|
+
errorType: result.error.constructor.name,
|
|
93
|
+
willUseFallback: true
|
|
94
|
+
});
|
|
95
|
+
// Handle orchestration failure with fallback
|
|
96
|
+
return await this.handleOrchestrationFailure(result.error, prompt, server, progressToken);
|
|
97
|
+
}
|
|
98
|
+
// Success - update statistics and status
|
|
99
|
+
this.status.statistics.successfulAttempts++;
|
|
100
|
+
const processingTime = new Date().getTime() - startTime.getTime();
|
|
101
|
+
this.updateAverageProcessingTime(processingTime);
|
|
102
|
+
this.status.lastResult = result.data;
|
|
103
|
+
// Send completion notification
|
|
104
|
+
if (server && progressToken && this.config.progressNotifications) {
|
|
105
|
+
await this.sendProgressNotification(server, progressToken, {
|
|
106
|
+
stage: 'orchestration_complete',
|
|
107
|
+
message: 'Structured prompt generation complete',
|
|
108
|
+
progress: 100,
|
|
109
|
+
total: 100,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
this.logger.info('structured-prompt-handler-debug', 'processStructuredPrompt SUCCESS - returning enhanced prompt', {
|
|
113
|
+
originalPrompt: prompt,
|
|
114
|
+
originalLength: prompt.length,
|
|
115
|
+
enhancedPrompt: result.data.structuredPrompt,
|
|
116
|
+
enhancedLength: result.data.structuredPrompt.length,
|
|
117
|
+
processingTime,
|
|
118
|
+
stagesCompleted: result.data.processingStages.length,
|
|
119
|
+
promptActuallyChanged: prompt !== result.data.structuredPrompt
|
|
120
|
+
});
|
|
121
|
+
return result;
|
|
122
|
+
}
|
|
123
|
+
catch (error) {
|
|
124
|
+
this.logger.error('structured-prompt-handler-debug', 'processStructuredPrompt EXCEPTION caught', {
|
|
125
|
+
errorType: error instanceof Error ? error.constructor.name : typeof error,
|
|
126
|
+
errorMessage: error instanceof Error ? error.message : String(error),
|
|
127
|
+
errorStack: error instanceof Error ? error.stack : null,
|
|
128
|
+
originalPrompt: prompt
|
|
129
|
+
});
|
|
130
|
+
const apiError = error instanceof errors_1.GeminiAPIError
|
|
131
|
+
? error
|
|
132
|
+
: new errors_1.GeminiAPIError(`Structured prompt processing failed: ${error}`);
|
|
133
|
+
return await this.handleOrchestrationFailure(apiError, prompt, server, progressToken);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Handle orchestration failure with configured fallback behavior
|
|
138
|
+
*/
|
|
139
|
+
async handleOrchestrationFailure(error, originalPrompt, server, progressToken) {
|
|
140
|
+
this.status.statistics.failedAttempts++;
|
|
141
|
+
this.logger.error('structured-prompt-handler-debug', 'handleOrchestrationFailure STARTED', {
|
|
142
|
+
errorMessage: error.message,
|
|
143
|
+
errorType: error.constructor.name,
|
|
144
|
+
errorStack: error.stack,
|
|
145
|
+
fallbackBehavior: this.config.fallbackBehavior,
|
|
146
|
+
originalPrompt,
|
|
147
|
+
willReturnOriginalPromptAsFallback: this.config.fallbackBehavior === 'graceful'
|
|
148
|
+
});
|
|
149
|
+
switch (this.config.fallbackBehavior) {
|
|
150
|
+
case 'graceful': {
|
|
151
|
+
this.logger.warn('structured-prompt-handler-debug', 'Applying GRACEFUL fallback - using original prompt unchanged', {
|
|
152
|
+
originalPrompt,
|
|
153
|
+
fallbackPrompt: originalPrompt,
|
|
154
|
+
noEnhancementApplied: true
|
|
155
|
+
});
|
|
156
|
+
// Return graceful fallback result
|
|
157
|
+
const fallbackResult = {
|
|
158
|
+
originalPrompt,
|
|
159
|
+
structuredPrompt: originalPrompt, // Use original as fallback
|
|
160
|
+
processingStages: [
|
|
161
|
+
{
|
|
162
|
+
name: 'Fallback',
|
|
163
|
+
status: 'completed',
|
|
164
|
+
startTime: new Date(),
|
|
165
|
+
endTime: new Date(),
|
|
166
|
+
output: originalPrompt,
|
|
167
|
+
},
|
|
168
|
+
],
|
|
169
|
+
appliedStrategies: [
|
|
170
|
+
{
|
|
171
|
+
strategy: 'Graceful Fallback',
|
|
172
|
+
applied: true,
|
|
173
|
+
reason: 'Orchestration failed, using original prompt',
|
|
174
|
+
processingTime: 0,
|
|
175
|
+
},
|
|
176
|
+
],
|
|
177
|
+
metrics: {
|
|
178
|
+
totalProcessingTime: 0,
|
|
179
|
+
stageCount: 1,
|
|
180
|
+
successRate: 0,
|
|
181
|
+
failureCount: 1,
|
|
182
|
+
fallbacksUsed: 1,
|
|
183
|
+
timestamp: new Date(),
|
|
184
|
+
},
|
|
185
|
+
};
|
|
186
|
+
if (server && progressToken) {
|
|
187
|
+
await this.sendProgressNotification(server, progressToken, {
|
|
188
|
+
stage: 'orchestration_complete',
|
|
189
|
+
message: 'Using fallback processing',
|
|
190
|
+
progress: 100,
|
|
191
|
+
total: 100,
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
this.logger.warn('structured-prompt-handler-debug', 'Graceful fallback COMPLETED - returning original prompt', {
|
|
195
|
+
fallbackResult: {
|
|
196
|
+
originalPrompt: fallbackResult.originalPrompt,
|
|
197
|
+
structuredPrompt: fallbackResult.structuredPrompt,
|
|
198
|
+
promptUnchanged: fallbackResult.originalPrompt === fallbackResult.structuredPrompt
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
return (0, result_1.Ok)(fallbackResult);
|
|
202
|
+
}
|
|
203
|
+
case 'retry':
|
|
204
|
+
// Attempt one retry (simplified for now)
|
|
205
|
+
this.logger.info('structured-prompt', 'Retrying orchestration once');
|
|
206
|
+
// For now, just return graceful fallback to avoid infinite recursion
|
|
207
|
+
return await this.handleOrchestrationFailure(error, originalPrompt, server, progressToken);
|
|
208
|
+
default:
|
|
209
|
+
return (0, result_1.Err)(error);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Send progress notification to MCP client
|
|
214
|
+
*/
|
|
215
|
+
async sendProgressNotification(server, progressToken, message) {
|
|
216
|
+
try {
|
|
217
|
+
await server.notification({
|
|
218
|
+
method: 'notifications/progress',
|
|
219
|
+
params: {
|
|
220
|
+
progressToken,
|
|
221
|
+
progress: message.progress,
|
|
222
|
+
total: message.total,
|
|
223
|
+
message: `[${message.stage}] ${message.message}`,
|
|
224
|
+
},
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
catch (error) {
|
|
228
|
+
this.logger.warn('structured-prompt', 'Failed to send progress notification', {
|
|
229
|
+
stage: message.stage,
|
|
230
|
+
error: error.message,
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Merge options with current mode configuration
|
|
236
|
+
*/
|
|
237
|
+
mergeWithModeOptions(options) {
|
|
238
|
+
const modeOptions = {};
|
|
239
|
+
switch (this.config.orchestrationMode) {
|
|
240
|
+
case 'full':
|
|
241
|
+
modeOptions.enablePOML = true;
|
|
242
|
+
modeOptions.bestPracticesMode = 'complete';
|
|
243
|
+
break;
|
|
244
|
+
case 'essential':
|
|
245
|
+
modeOptions.enablePOML = true;
|
|
246
|
+
modeOptions.bestPracticesMode = 'basic';
|
|
247
|
+
break;
|
|
248
|
+
case 'minimal':
|
|
249
|
+
modeOptions.enablePOML = false;
|
|
250
|
+
modeOptions.bestPracticesMode = 'basic';
|
|
251
|
+
break;
|
|
252
|
+
}
|
|
253
|
+
return { ...modeOptions, ...options };
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Update configuration
|
|
257
|
+
*/
|
|
258
|
+
updateConfig(newConfig) {
|
|
259
|
+
this.config = { ...this.config, ...newConfig };
|
|
260
|
+
this.logger.info('structured-prompt', 'Configuration updated', newConfig);
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Get current orchestration status
|
|
264
|
+
*/
|
|
265
|
+
getOrchestrationStatus() {
|
|
266
|
+
return { ...this.status };
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Reset statistics
|
|
270
|
+
*/
|
|
271
|
+
resetStatistics() {
|
|
272
|
+
this.status.statistics = {
|
|
273
|
+
totalAttempts: 0,
|
|
274
|
+
successfulAttempts: 0,
|
|
275
|
+
failedAttempts: 0,
|
|
276
|
+
averageProcessingTime: 0,
|
|
277
|
+
};
|
|
278
|
+
// Remove lastResult property using Reflect.deleteProperty to avoid type issues
|
|
279
|
+
Reflect.deleteProperty(this.status, 'lastResult');
|
|
280
|
+
this.logger.info('structured-prompt', 'Statistics reset');
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Initialize orchestration status
|
|
284
|
+
*/
|
|
285
|
+
initializeStatus() {
|
|
286
|
+
return {
|
|
287
|
+
enabled: true, // Always enabled now
|
|
288
|
+
mode: this.config.orchestrationMode,
|
|
289
|
+
statistics: {
|
|
290
|
+
totalAttempts: 0,
|
|
291
|
+
successfulAttempts: 0,
|
|
292
|
+
failedAttempts: 0,
|
|
293
|
+
averageProcessingTime: 0,
|
|
294
|
+
},
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Update average processing time with new measurement
|
|
299
|
+
*/
|
|
300
|
+
updateAverageProcessingTime(newTime) {
|
|
301
|
+
const stats = this.status.statistics;
|
|
302
|
+
const totalSuccessful = stats.successfulAttempts;
|
|
303
|
+
if (totalSuccessful === 1) {
|
|
304
|
+
stats.averageProcessingTime = newTime;
|
|
305
|
+
}
|
|
306
|
+
else {
|
|
307
|
+
// Calculate weighted average
|
|
308
|
+
const currentTotal = stats.averageProcessingTime * (totalSuccessful - 1);
|
|
309
|
+
stats.averageProcessingTime = (currentTotal + newTime) / totalSuccessful;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
exports.StructuredPromptHandler = StructuredPromptHandler;
|
|
314
|
+
//# sourceMappingURL=structuredPromptHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structuredPromptHandler.js","sourceRoot":"","sources":["../../../src/server/handlers/structuredPromptHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* MCP Server implementation
|
|
3
|
-
*
|
|
3
|
+
* Simplified architecture with direct Gemini integration
|
|
4
4
|
*/
|
|
5
5
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
6
6
|
import type { MCPServerConfig } from '../types/mcp';
|
|
7
|
-
import { type FileManager } from '../business/fileManager';
|
|
8
|
-
import { type ImageGenerator } from '../business/imageGenerator';
|
|
9
|
-
import { type ResponseBuilder } from '../business/responseBuilder';
|
|
10
|
-
import { type GeminiClient } from '../api/geminiClient';
|
|
11
|
-
import { Logger } from '../utils/logger';
|
|
12
|
-
import { SecurityManager } from '../utils/security';
|
|
13
7
|
/**
|
|
14
|
-
*
|
|
15
|
-
*/
|
|
16
|
-
export interface MCPServerDependencies {
|
|
17
|
-
fileManager?: FileManager;
|
|
18
|
-
responseBuilder?: ResponseBuilder;
|
|
19
|
-
logger?: Logger;
|
|
20
|
-
securityManager?: SecurityManager;
|
|
21
|
-
createImageGenerator?: (geminiClient: GeminiClient) => ImageGenerator;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Basic MCP server structure
|
|
25
|
-
* Simple implementation focusing on testability
|
|
8
|
+
* Simplified MCP server
|
|
26
9
|
*/
|
|
27
10
|
export declare class MCPServerImpl {
|
|
28
11
|
private config;
|
|
@@ -31,18 +14,12 @@ export declare class MCPServerImpl {
|
|
|
31
14
|
private fileManager;
|
|
32
15
|
private responseBuilder;
|
|
33
16
|
private securityManager;
|
|
34
|
-
private
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
*/
|
|
39
|
-
private sendProgress;
|
|
17
|
+
private structuredPromptGenerator;
|
|
18
|
+
private geminiTextClient;
|
|
19
|
+
private geminiClient;
|
|
20
|
+
constructor(config?: Partial<MCPServerConfig>);
|
|
40
21
|
/**
|
|
41
|
-
* Get server
|
|
42
|
-
*/
|
|
43
|
-
getServerInstance(): Server | null;
|
|
44
|
-
/**
|
|
45
|
-
* Get server information
|
|
22
|
+
* Get server info
|
|
46
23
|
*/
|
|
47
24
|
getServerInfo(): {
|
|
48
25
|
name: string;
|
|
@@ -88,11 +65,15 @@ export declare class MCPServerImpl {
|
|
|
88
65
|
}[];
|
|
89
66
|
};
|
|
90
67
|
/**
|
|
91
|
-
* Tool execution
|
|
68
|
+
* Tool execution
|
|
69
|
+
*/
|
|
70
|
+
callTool(name: string, args: unknown): Promise<import("../types/mcp").McpToolResponse>;
|
|
71
|
+
/**
|
|
72
|
+
* Initialize Gemini clients lazily
|
|
92
73
|
*/
|
|
93
|
-
|
|
74
|
+
private initializeClients;
|
|
94
75
|
/**
|
|
95
|
-
*
|
|
76
|
+
* Simplified image generation handler
|
|
96
77
|
*/
|
|
97
78
|
private handleGenerateImage;
|
|
98
79
|
/**
|
|
@@ -105,7 +86,7 @@ export declare class MCPServerImpl {
|
|
|
105
86
|
private setupHandlers;
|
|
106
87
|
}
|
|
107
88
|
/**
|
|
108
|
-
* Factory function
|
|
89
|
+
* Factory function to create MCP server
|
|
109
90
|
*/
|
|
110
|
-
export declare function createMCPServer(config?: Partial<MCPServerConfig
|
|
91
|
+
export declare function createMCPServer(config?: Partial<MCPServerConfig>): MCPServerImpl;
|
|
111
92
|
//# sourceMappingURL=mcpServer.d.ts.map
|
|
@@ -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;AASlE,OAAO,KAAK,EAAuB,eAAe,
|
|
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;AASlE,OAAO,KAAK,EAAuB,eAAe,EAAE,MAAM,cAAc,CAAA;AA+BxE;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA+CnB;;OAEG;IACU,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;IAYjD;;OAEG;YACW,iBAAiB;IAkC/B;;OAEG;YACW,mBAAmB;IAuGjC;;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"}
|