mcp-prompt-optimizer 1.3.2 โ†’ 1.3.3

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.
@@ -0,0 +1,252 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Diagnostic Command for MCP Prompt Optimizer
5
+ * Enhanced with comprehensive network analysis and development mode support
6
+ */
7
+
8
+ const CloudApiKeyManager = require('./api-key-manager');
9
+ const packageJson = require('../package.json');
10
+
11
+ async function runDiagnostic() {
12
+ const developmentMode = process.env.NODE_ENV === 'development' || process.env.OPTIMIZER_DEV_MODE === 'true';
13
+ const modeText = developmentMode ? ' (Development Mode)' : '';
14
+
15
+ console.log(`๐Ÿ”ฌ MCP Prompt Optimizer v${packageJson.version} - Comprehensive Diagnostic${modeText}\n`);
16
+
17
+ try {
18
+ const apiKey = process.env.OPTIMIZER_API_KEY;
19
+
20
+ if (!apiKey) {
21
+ console.log('โš ๏ธ No API key found, running partial diagnostic');
22
+ console.log('Set OPTIMIZER_API_KEY for complete analysis\n');
23
+ }
24
+
25
+ const manager = new CloudApiKeyManager(apiKey || 'dummy-key-for-diagnostic', {
26
+ developmentMode
27
+ });
28
+ const diagnostic = await manager.getDiagnosticInfo();
29
+
30
+ console.log('๐Ÿ“‹ Diagnostic Information:');
31
+ console.log('=' .repeat(60));
32
+
33
+ // Basic system information
34
+ console.log(`๐Ÿ”‘ API Key: ${diagnostic.apiKey}`);
35
+ console.log(`๐ŸŒ Backend URL: ${diagnostic.backendUrl}`);
36
+ console.log(`๐Ÿ’พ Cache File: ${diagnostic.cacheFile}`);
37
+ console.log(`๐Ÿฅ Health File: ${diagnostic.healthFile}`);
38
+ console.log(`โฐ Cache Expiry: ${diagnostic.cacheExpiry / 1000 / 60} minutes`);
39
+ console.log(`โฐ Fallback Cache Expiry: ${diagnostic.fallbackCacheExpiry / 1000 / 60 / 60} hours`);
40
+ console.log(`๐Ÿ“ฑ Offline Mode: ${diagnostic.offlineMode}`);
41
+ console.log(`๐Ÿงช Development Mode: ${diagnostic.developmentMode}`);
42
+ console.log(`๐Ÿ”„ Max Retries: ${diagnostic.maxRetries}`);
43
+ console.log(`โฑ๏ธ Request Timeout: ${diagnostic.requestTimeout}ms`);
44
+ console.log(`๐Ÿ”ง Node Environment: ${diagnostic.nodeEnv || 'not set'}`);
45
+ console.log(`๐Ÿ“ฆ Package Version: ${diagnostic.packageVersion}`);
46
+
47
+ // Network health section
48
+ console.log('\n๐ŸŒ Network Health:');
49
+ const health = diagnostic.networkHealth;
50
+ console.log(` ๐Ÿ“Š Consecutive Failures: ${health.consecutiveFailures}`);
51
+ console.log(` โœ… Last Successful: ${health.lastSuccessful ? new Date(health.lastSuccessful).toLocaleString() : 'Never'}`);
52
+ console.log(` โšก Avg Response Time: ${health.avgResponseTime ? health.avgResponseTime + 'ms' : 'Unknown'}`);
53
+ console.log(` โŒ Last Error Type: ${health.lastErrorType || 'None'}`);
54
+
55
+ // Cache status
56
+ console.log('\n๐Ÿ“„ Cache Status:');
57
+ if (diagnostic.cache.error) {
58
+ console.log(` โŒ Error: ${diagnostic.cache.error}`);
59
+ } else {
60
+ console.log(` ๐Ÿ“ Exists: ${diagnostic.cache.exists}`);
61
+ console.log(` โณ Normal Cache Expired: ${diagnostic.cache.expired}`);
62
+ console.log(` ๐Ÿ”„ Fallback Cache Expired: ${diagnostic.cache.fallbackExpired}`);
63
+ console.log(` ๐Ÿ“… Age: ${diagnostic.cache.age} minutes`);
64
+
65
+ if (diagnostic.cache.backendUrl) {
66
+ console.log(` ๐ŸŒ Cached Backend: ${diagnostic.cache.backendUrl}`);
67
+ }
68
+ if (diagnostic.cache.packageVersion) {
69
+ console.log(` ๐Ÿ“ฆ Cached Version: ${diagnostic.cache.packageVersion}`);
70
+ }
71
+ }
72
+
73
+ // API key format check
74
+ console.log('\n๐Ÿ” API Key Format Check:');
75
+ if (diagnostic.keyFormat.valid) {
76
+ console.log(` โœ… Valid: ${diagnostic.keyFormat.keyType}`);
77
+ } else {
78
+ console.log(` โŒ Invalid: ${diagnostic.keyFormat.error}`);
79
+ }
80
+
81
+ // Backend connectivity analysis
82
+ console.log('\n๐ŸŒ Backend Connectivity Analysis:');
83
+ const connectivity = diagnostic.backendConnectivity;
84
+ if (connectivity.status === 'success') {
85
+ console.log(' โœ… Connection successful');
86
+ if (connectivity.responseTime) {
87
+ console.log(` โšก Response time: ${connectivity.responseTime}ms`);
88
+ }
89
+ } else {
90
+ console.log(` โŒ Connection failed: ${connectivity.error}`);
91
+
92
+ // Enhanced error analysis
93
+ if (connectivity.dns) {
94
+ console.log(' ๐Ÿ” Issue Type: DNS Resolution Failure');
95
+ console.log(' ๐Ÿ’ก Likely Causes:');
96
+ console.log(' - Internet connection issues');
97
+ console.log(' - DNS server problems');
98
+ console.log(' - Corporate firewall blocking DNS');
99
+ console.log(' - VPN/proxy configuration issues');
100
+ } else if (connectivity.connection) {
101
+ console.log(' ๐Ÿ” Issue Type: Connection Refused/Reset');
102
+ console.log(' ๐Ÿ’ก Likely Causes:');
103
+ console.log(' - Backend server is down');
104
+ console.log(' - Port blocking by firewall');
105
+ console.log(' - Network routing issues');
106
+ console.log(' - Load balancer problems');
107
+ } else if (connectivity.timeout) {
108
+ console.log(' ๐Ÿ” Issue Type: Connection Timeout');
109
+ console.log(' ๐Ÿ’ก Likely Causes:');
110
+ console.log(' - Slow network connection');
111
+ console.log(' - Backend server overload');
112
+ console.log(' - Proxy/firewall delays');
113
+ console.log(' - Geographic distance');
114
+ } else if (connectivity.network) {
115
+ console.log(' ๐Ÿ” Issue Type: General Network Error');
116
+ console.log(' ๐Ÿ’ก Likely Causes:');
117
+ console.log(' - Network instability');
118
+ console.log(' - ISP issues');
119
+ console.log(' - WiFi connectivity problems');
120
+ console.log(' - Mobile data limitations');
121
+ }
122
+ }
123
+
124
+ // Development mode specific information
125
+ if (developmentMode) {
126
+ console.log('\n๐Ÿงช Development Mode Analysis:');
127
+ console.log(' โœ… Development mode active');
128
+ console.log(' ๐Ÿ”„ Mock responses available');
129
+ console.log(' ๐Ÿ“ด Offline operation supported');
130
+ console.log(' ๐Ÿงช No backend dependency required');
131
+
132
+ if (apiKey && (apiKey.startsWith('sk-dev-') || apiKey.startsWith('sk-local-'))) {
133
+ console.log(' โœ… Development API key detected');
134
+ } else {
135
+ console.log(' โš ๏ธ Consider using development API key (sk-dev-* or sk-local-*)');
136
+ }
137
+ }
138
+
139
+ // Recommendations section
140
+ console.log('\n๐Ÿ’ก Recommendations:');
141
+
142
+ if (!apiKey) {
143
+ console.log(' ๐Ÿ”‘ Set API key: export OPTIMIZER_API_KEY=sk-opt-your-key');
144
+ console.log(' ๐Ÿ†“ Get free trial: https://promptoptimizer-blog.vercel.app/pricing');
145
+ }
146
+
147
+ if (health.consecutiveFailures > 0) {
148
+ console.log(` ๐Ÿ”„ ${health.consecutiveFailures} consecutive network failures detected`);
149
+ console.log(' ๐Ÿงช Consider development mode: export OPTIMIZER_DEV_MODE=true');
150
+ console.log(' ๐Ÿ“ก Check network connectivity and firewall settings');
151
+ }
152
+
153
+ if (diagnostic.cache.exists && diagnostic.cache.expired && !diagnostic.cache.fallbackExpired) {
154
+ console.log(' ๐Ÿ’พ Cache available for fallback mode');
155
+ console.log(' ๐Ÿ”„ Package can operate with reduced functionality');
156
+ }
157
+
158
+ if (!developmentMode && connectivity.status === 'failed') {
159
+ console.log(' ๐Ÿงช Try development mode for offline testing:');
160
+ console.log(' export OPTIMIZER_DEV_MODE=true');
161
+ console.log(' export OPTIMIZER_API_KEY=sk-dev-test-key');
162
+ }
163
+
164
+ if (connectivity.status === 'success' && health.avgResponseTime > 5000) {
165
+ console.log(' โšก Network latency is high (>5s)');
166
+ console.log(' ๐ŸŒ Consider checking network quality or VPN settings');
167
+ }
168
+
169
+ // Action items
170
+ console.log('\n๐ŸŽฏ Suggested Actions:');
171
+
172
+ if (connectivity.status === 'failed') {
173
+ console.log(' 1. ๐ŸŒ Test basic internet: ping google.com');
174
+ console.log(' 2. ๐Ÿ” Check DNS: nslookup p01--project-optimizer--fvrdk8m9k9j.code.run');
175
+ console.log(' 3. ๐Ÿ›ก๏ธ Verify firewall allows HTTPS traffic');
176
+ console.log(' 4. ๐Ÿ”„ Try again in a few minutes');
177
+ console.log(' 5. ๐Ÿงช Use development mode for immediate testing');
178
+ } else {
179
+ console.log(' 1. โœ… Network connectivity is working well');
180
+ console.log(' 2. ๐Ÿš€ Ready for production use');
181
+
182
+ if (!apiKey || !diagnostic.keyFormat.valid) {
183
+ console.log(' 3. ๐Ÿ”‘ Set up proper API key for full functionality');
184
+ } else {
185
+ console.log(' 3. ๐ŸŽฏ All systems operational');
186
+ }
187
+ }
188
+
189
+ // Network environment detection
190
+ console.log('\n๐ŸŒ Network Environment:');
191
+ const userAgent = `mcp-prompt-optimizer/${diagnostic.packageVersion}`;
192
+ console.log(` ๐Ÿ“ฑ User Agent: ${userAgent}`);
193
+ console.log(` ๐Ÿข Corporate Network: ${connectivity.timeout || connectivity.dns ? 'Likely' : 'Unlikely'}`);
194
+ console.log(` ๐Ÿ”’ Firewall/Proxy: ${connectivity.timeout ? 'Possible' : 'Unlikely'}`);
195
+ console.log(` ๐Ÿ“ถ Connection Quality: ${health.avgResponseTime ?
196
+ (health.avgResponseTime < 1000 ? 'Excellent' :
197
+ health.avgResponseTime < 3000 ? 'Good' :
198
+ health.avgResponseTime < 5000 ? 'Fair' : 'Poor') : 'Unknown'}`);
199
+
200
+ console.log(`\n๐Ÿ• Generated: ${diagnostic.timestamp}`);
201
+
202
+ // Final status summary
203
+ console.log('\n' + '='.repeat(60));
204
+ console.log('๐Ÿ“Š DIAGNOSTIC SUMMARY:');
205
+
206
+ const issues = [];
207
+ const working = [];
208
+
209
+ if (!apiKey) issues.push('No API key configured');
210
+ else working.push('API key present');
211
+
212
+ if (!diagnostic.keyFormat.valid) issues.push('Invalid API key format');
213
+ else working.push('API key format valid');
214
+
215
+ if (connectivity.status === 'failed') issues.push('Backend connectivity failed');
216
+ else working.push('Backend connectivity working');
217
+
218
+ if (diagnostic.cache.error) issues.push('Cache system error');
219
+ else working.push('Cache system working');
220
+
221
+ if (health.consecutiveFailures > 3) issues.push('Multiple network failures');
222
+ else working.push('Network stability good');
223
+
224
+ console.log(`โœ… Working (${working.length}): ${working.join(', ')}`);
225
+ if (issues.length > 0) {
226
+ console.log(`โš ๏ธ Issues (${issues.length}): ${issues.join(', ')}`);
227
+ }
228
+
229
+ const overallStatus = issues.length === 0 ? 'EXCELLENT' :
230
+ issues.length <= 2 ? 'GOOD' : 'NEEDS ATTENTION';
231
+ console.log(`\n๐ŸŽฏ Overall Status: ${overallStatus}`);
232
+
233
+ if (developmentMode) {
234
+ console.log('๐Ÿงช Development mode provides full offline functionality');
235
+ }
236
+
237
+ } catch (error) {
238
+ console.error('โŒ Diagnostic failed:', error.message);
239
+ console.log('\n๐Ÿ†˜ Emergency Diagnostic:');
240
+ console.log(' - Package installation may be corrupted');
241
+ console.log(' - Try: npm install --force');
242
+ console.log(' - Ensure Node.js version >= 16.0.0');
243
+ console.log(' - Contact support: support@promptoptimizer.help');
244
+ process.exit(1);
245
+ }
246
+ }
247
+
248
+ if (require.main === module) {
249
+ runDiagnostic();
250
+ }
251
+
252
+ module.exports = runDiagnostic;
@@ -0,0 +1,250 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Test Integration Command for MCP Prompt Optimizer
5
+ * Enhanced with development mode support and comprehensive network testing
6
+ */
7
+
8
+ const CloudApiKeyManager = require('./api-key-manager');
9
+ const packageJson = require('../package.json');
10
+
11
+ async function testIntegration() {
12
+ const developmentMode = process.env.NODE_ENV === 'development' || process.env.OPTIMIZER_DEV_MODE === 'true';
13
+ const modeText = developmentMode ? ' (Development Mode)' : '';
14
+
15
+ console.log(`๐Ÿงช MCP Prompt Optimizer v${packageJson.version} - Integration Test${modeText}\n`);
16
+
17
+ try {
18
+ const apiKey = process.env.OPTIMIZER_API_KEY;
19
+
20
+ if (!apiKey) {
21
+ console.error('โŒ No API key found for testing');
22
+ console.log('๐Ÿ“ Set API key for complete testing:');
23
+ console.log(' export OPTIMIZER_API_KEY=sk-opt-your-key');
24
+
25
+ if (developmentMode) {
26
+ console.log('\n๐Ÿงช Development Mode Options:');
27
+ console.log(' export OPTIMIZER_API_KEY=sk-dev-test-key');
28
+ console.log(' export OPTIMIZER_API_KEY=sk-local-test-key');
29
+ console.log(' Features: Offline testing, mock responses');
30
+ }
31
+
32
+ process.exit(1);
33
+ }
34
+
35
+ const manager = new CloudApiKeyManager(apiKey, { developmentMode });
36
+
37
+ console.log('๐Ÿ”ฌ Running comprehensive integration tests...\n');
38
+ console.log('๐Ÿ“‹ Test Configuration:');
39
+ console.log(` ๐Ÿ”‘ API Key: ${apiKey.substring(0, 16)}...`);
40
+ console.log(` ๐Ÿงช Development Mode: ${developmentMode}`);
41
+ console.log(` ๐ŸŒ Backend URL: ${manager.backendUrl}`);
42
+ console.log(` ๐Ÿ”„ Max Retries: ${manager.maxRetries}`);
43
+ console.log(` โฑ๏ธ Timeout: ${manager.requestTimeout}ms`);
44
+ console.log('');
45
+
46
+ const results = await manager.testIntegration();
47
+
48
+ console.log('๐Ÿ“‹ Integration Test Results:');
49
+ console.log('=' .repeat(60));
50
+
51
+ let totalTests = 0;
52
+ let passedTests = 0;
53
+
54
+ Object.entries(results).forEach(([testName, result]) => {
55
+ if (testName === 'generalError') {
56
+ console.log(`โŒ General Error: ${result}`);
57
+ return;
58
+ }
59
+
60
+ if (testName === 'networkHealth') {
61
+ console.log(`๐Ÿ“Š Network Health: ${JSON.stringify(result, null, 2)}`);
62
+ return;
63
+ }
64
+
65
+ totalTests++;
66
+ const status = result.passed ? 'โœ… PASS' : 'โŒ FAIL';
67
+ const displayName = testName.replace(/([A-Z])/g, ' $1').trim()
68
+ .replace(/^\w/, c => c.toUpperCase());
69
+
70
+ console.log(`${status} ${displayName}`);
71
+
72
+ if (result.passed) {
73
+ passedTests++;
74
+
75
+ // Show additional success details
76
+ if (result.keyType) {
77
+ console.log(` โœ“ Key Type: ${result.keyType}`);
78
+ }
79
+ if (result.tier) {
80
+ console.log(` โœ“ Tier: ${result.tier}`);
81
+ }
82
+ if (result.responseStructure) {
83
+ console.log(` โœ“ Response Fields: ${result.responseStructure.join(', ')}`);
84
+ }
85
+ if (result.avgResponseTime) {
86
+ console.log(` โœ“ Avg Response Time: ${result.avgResponseTime}ms`);
87
+ }
88
+ if (result.cacheAge !== undefined) {
89
+ console.log(` โœ“ Cache Age: ${result.cacheAge}s`);
90
+ }
91
+ if (result.mode) {
92
+ const modes = [];
93
+ if (result.mode.development) modes.push('Development');
94
+ if (result.mode.mock) modes.push('Mock');
95
+ if (result.mode.fallback) modes.push('Fallback');
96
+ if (result.mode.offline) modes.push('Offline');
97
+
98
+ if (modes.length > 0) {
99
+ console.log(` โœ“ Mode: ${modes.join(', ')}`);
100
+ }
101
+ }
102
+ } else {
103
+ // Show failure details
104
+ if (result.error) {
105
+ console.log(` โœ— Error: ${result.error}`);
106
+ }
107
+ if (result.consecutiveFailures) {
108
+ console.log(` โœ— Consecutive Failures: ${result.consecutiveFailures}`);
109
+ }
110
+ }
111
+ });
112
+
113
+ // Network health analysis
114
+ if (results.networkHealth) {
115
+ console.log('\n๐ŸŒ Network Health Analysis:');
116
+ const health = results.networkHealth;
117
+
118
+ console.log(` ๐Ÿ“Š Consecutive Failures: ${health.consecutiveFailures}`);
119
+ console.log(` โœ… Last Successful: ${health.lastSuccessful ? new Date(health.lastSuccessful).toLocaleString() : 'Never'}`);
120
+ console.log(` โšก Avg Response Time: ${health.avgResponseTime ? health.avgResponseTime + 'ms' : 'Unknown'}`);
121
+ console.log(` โŒ Last Error: ${health.lastErrorType || 'None'}`);
122
+
123
+ // Network quality assessment
124
+ if (health.avgResponseTime) {
125
+ const quality = health.avgResponseTime < 1000 ? 'Excellent' :
126
+ health.avgResponseTime < 3000 ? 'Good' :
127
+ health.avgResponseTime < 5000 ? 'Fair' : 'Poor';
128
+ console.log(` ๐Ÿ“ถ Connection Quality: ${quality}`);
129
+ }
130
+
131
+ if (health.consecutiveFailures > 0) {
132
+ console.log(` โš ๏ธ Network instability detected`);
133
+ }
134
+ }
135
+
136
+ console.log('\n' + '='.repeat(60));
137
+ console.log(`๐Ÿ“Š Integration Test Summary: ${passedTests}/${totalTests} tests passed`);
138
+
139
+ if (passedTests === totalTests) {
140
+ console.log('๐ŸŽ‰ All integration tests passed! System is working correctly.');
141
+
142
+ if (developmentMode) {
143
+ console.log('\n๐Ÿงช Development Mode Features Verified:');
144
+ console.log(' โœ… Mock validation working');
145
+ console.log(' โœ… Offline operation capability');
146
+ console.log(' โœ… Development key support');
147
+ console.log(' โœ… Enhanced debugging available');
148
+ } else {
149
+ console.log('\n๐Ÿš€ Production Features Verified:');
150
+ console.log(' โœ… Backend connectivity established');
151
+ console.log(' โœ… API key validation working');
152
+ console.log(' โœ… Network resilience active');
153
+ console.log(' โœ… Caching system operational');
154
+ }
155
+
156
+ console.log('\n๐Ÿ“ˆ Performance Metrics:');
157
+ if (results.backendConnectivity?.avgResponseTime) {
158
+ const responseTime = results.backendConnectivity.avgResponseTime;
159
+ console.log(` โšก Backend Response: ${responseTime}ms`);
160
+
161
+ if (responseTime < 1000) {
162
+ console.log(' ๐Ÿš€ Excellent response time');
163
+ } else if (responseTime < 3000) {
164
+ console.log(' โœ… Good response time');
165
+ } else {
166
+ console.log(' โš ๏ธ Consider checking network quality');
167
+ }
168
+ }
169
+
170
+ console.log('\n๐ŸŽฏ Ready for:');
171
+ console.log(' โœ… MCP client integration');
172
+ console.log(' โœ… Production optimization workloads');
173
+ console.log(' โœ… Team collaboration');
174
+ console.log(' โœ… Enterprise deployment');
175
+
176
+ } else {
177
+ console.log('โš ๏ธ Some integration tests failed. Review issues above.');
178
+
179
+ const failedTests = totalTests - passedTests;
180
+
181
+ if (results.backendConnectivity && !results.backendConnectivity.passed) {
182
+ console.log('\n๐ŸŒ Backend Connectivity Issues:');
183
+ console.log(' - Check internet connection');
184
+ console.log(' - Verify firewall/proxy settings');
185
+ console.log(' - Backend may be temporarily unavailable');
186
+
187
+ if (!developmentMode) {
188
+ console.log(' - Try development mode: export OPTIMIZER_DEV_MODE=true');
189
+ }
190
+ }
191
+
192
+ if (results.formatValidation && !results.formatValidation.passed) {
193
+ console.log('\n๐Ÿ”‘ API Key Format Issues:');
194
+ console.log(' - Check API key format (sk-opt-*, sk-team-*, sk-dev-*, sk-local-*)');
195
+ console.log(' - Get new key: https://promptoptimizer-blog.vercel.app/pricing');
196
+ }
197
+
198
+ if (results.cacheOperations && !results.cacheOperations.passed) {
199
+ console.log('\n๐Ÿ’พ Cache System Issues:');
200
+ console.log(' - Clear cache: mcp-prompt-optimizer clear-cache');
201
+ console.log(' - Check file system permissions');
202
+ }
203
+
204
+ console.log('\n๐Ÿ› ๏ธ Recommended Actions:');
205
+ console.log(' 1. Run diagnostic: mcp-prompt-optimizer diagnose');
206
+ console.log(' 2. Clear cache: mcp-prompt-optimizer clear-cache');
207
+ console.log(' 3. Validate key: mcp-prompt-optimizer validate-key');
208
+
209
+ if (failedTests > 2) {
210
+ console.log(' 4. Check system requirements');
211
+ console.log(' 5. Contact support: support@promptoptimizer.help');
212
+ }
213
+
214
+ if (!developmentMode && results.backendConnectivity && !results.backendConnectivity.passed) {
215
+ console.log('\n๐Ÿงช Alternative: Try Development Mode');
216
+ console.log(' export OPTIMIZER_DEV_MODE=true');
217
+ console.log(' export OPTIMIZER_API_KEY=sk-dev-test-key');
218
+ console.log(' mcp-prompt-optimizer test');
219
+ console.log(' Features: Offline operation, mock responses, no backend required');
220
+ }
221
+
222
+ process.exit(1);
223
+ }
224
+
225
+ console.log('\n๐Ÿ’ก Integration Complete. System ready for MCP client connections.');
226
+
227
+ } catch (error) {
228
+ console.error('โŒ Integration test failed:', error.message);
229
+
230
+ console.log('\n๐Ÿ› ๏ธ Emergency Troubleshooting:');
231
+ console.log(' 1. Check Node.js version: node --version (>= 16.0.0)');
232
+ console.log(' 2. Reinstall dependencies: npm install');
233
+ console.log(' 3. Clear all cache: mcp-prompt-optimizer clear-cache');
234
+ console.log(' 4. Run diagnostic: mcp-prompt-optimizer diagnose');
235
+
236
+ if (!developmentMode) {
237
+ console.log(' 5. Try development mode: export OPTIMIZER_DEV_MODE=true');
238
+ }
239
+
240
+ console.log(' 6. Contact support: support@promptoptimizer.help');
241
+
242
+ process.exit(1);
243
+ }
244
+ }
245
+
246
+ if (require.main === module) {
247
+ testIntegration();
248
+ }
249
+
250
+ module.exports = testIntegration;