Files
nasir@endelospay.com f4ca680532 feat: add PM2 configuration and deployment setup for remote server
- Add Makefile with convenient PM2 commands for development and production
- Add ecosystem.config.js with production/staging/dev environment configurations
- Add comprehensive PM2-GUIDE.md documentation for deployment
- Update package.json with PM2-specific npm scripts
- Fix Chrome extension URL handling to omit standard ports (443/80)
- Hide embedding model and semantic engine sections in popup UI
2025-08-22 00:21:10 +05:00

71 lines
2.3 KiB
TypeScript

/**
* Environment Configuration
* Centralized environment variable handling for Chrome Extension
*/
// Get environment variables with fallbacks
const REMOTE_SERVER_HOST = import.meta.env.VITE_REMOTE_SERVER_HOST || '127.0.0.1';
const REMOTE_SERVER_PORT = import.meta.env.VITE_REMOTE_SERVER_PORT || '3001';
// Debug logging for environment variables
console.log('Environment Config Loaded:', {
VITE_REMOTE_SERVER_HOST: import.meta.env.VITE_REMOTE_SERVER_HOST,
VITE_REMOTE_SERVER_PORT: import.meta.env.VITE_REMOTE_SERVER_PORT,
REMOTE_SERVER_HOST,
REMOTE_SERVER_PORT,
});
// Helper function to determine if we should include port in URL
const shouldIncludePort = (host: string, port: string): boolean => {
// For localhost/127.0.0.1, always include port
if (host === '127.0.0.1' || host === 'localhost') {
return true;
}
// For HTTPS domains using standard port 443, don't include port
if (port === '443') {
return false;
}
// For HTTP domains using standard port 80, don't include port
if (port === '80') {
return false;
}
// For all other cases, include the port
return true;
};
// Helper function to determine protocol
const getProtocol = (port: string): { ws: string; http: string } => {
if (port === '443') {
return { ws: 'wss', http: 'https' };
}
return { ws: 'ws', http: 'http' };
};
// Build URLs based on whether port should be included
const includePort = shouldIncludePort(REMOTE_SERVER_HOST, REMOTE_SERVER_PORT);
const protocols = getProtocol(REMOTE_SERVER_PORT);
const baseUrl = includePort ? `${REMOTE_SERVER_HOST}:${REMOTE_SERVER_PORT}` : REMOTE_SERVER_HOST;
// Remote Server Configuration
export const REMOTE_SERVER_CONFIG = {
HOST: REMOTE_SERVER_HOST,
PORT: REMOTE_SERVER_PORT,
WS_URL: `${protocols.ws}://${baseUrl}/chrome`,
HTTP_URL: `${protocols.http}://${baseUrl}/mcp`,
} as const;
// Default connection settings
export const DEFAULT_CONNECTION_CONFIG = {
serverUrl: REMOTE_SERVER_CONFIG.WS_URL,
reconnectInterval: 3000, // Reduced from 5000ms to 3000ms for faster reconnection
maxReconnectAttempts: 999999, // Effectively unlimited for persistent connections
} as const;
// Export individual values for backward compatibility
export const DEFAULT_SERVER_URL = REMOTE_SERVER_CONFIG.WS_URL;
export const DEFAULT_HTTP_URL = REMOTE_SERVER_CONFIG.HTTP_URL;