const { contextBridge, ipcRenderer } = require('electron'); // Expose protected methods that allow the renderer process to use // the ipcRenderer without exposing the entire object contextBridge.exposeInMainWorld('electronAPI', { login: (credentials) => ipcRenderer.invoke('api-login', credentials), getDevices: (params) => ipcRenderer.invoke('api-get-devices', params), getAuthInfo: (params) => ipcRenderer.invoke('api-get-auth-info', params), // Profile management loadProfiles: () => ipcRenderer.invoke('profiles-load'), saveProfile: (profile) => ipcRenderer.invoke('profiles-save', profile), getProfile: (profileId) => ipcRenderer.invoke('profiles-get', { profileId }), deleteProfile: (profileId) => ipcRenderer.invoke('profiles-delete', { profileId }), updateProfile: (profileId, profile) => ipcRenderer.invoke('profiles-update', { profileId, ...profile }), // Camera proxy functionality launchCameraProxy: (params) => ipcRenderer.invoke('camera-proxy-launch', params), launchCookieCameraProxy: (params) => ipcRenderer.invoke('camera-proxy-cookie-launch', params), stopCameraProxy: (processId) => ipcRenderer.invoke('camera-proxy-stop', { processId }), checkCameraProxy: () => ipcRenderer.invoke('camera-proxy-check'), getCameraProxyVersion: () => ipcRenderer.invoke('camera-proxy-version'), listActiveCameraProxies: () => ipcRenderer.invoke('camera-proxy-list-active') });