const { contextBridge, ipcRenderer } = require('electron'); contextBridge.exposeInMainWorld('electronAPI', { startAll: () => ipcRenderer.invoke('start-all'), startChatlog: () => ipcRenderer.send('start-chatlog'), stopChatlog: () => ipcRenderer.send('stop-chatlog'), startFastapi: () => ipcRenderer.send('start-fastapi'), stopFastapi: () => ipcRenderer.send('stop-fastapi'), startFrontend: () => ipcRenderer.send('start-frontend'), stopFrontend: () => ipcRenderer.send('stop-frontend'), openInApp: () => ipcRenderer.send('open-in-app'), getProcessStatus: () => ipcRenderer.invoke('get-process-status'), refreshCurrentAccount: () => ipcRenderer.invoke('refresh-current-account'), onLog: (callback) => ipcRenderer.on('log', (_event, value) => callback(value)), onProcessStarted: (callback) => ipcRenderer.on('process-started', (_event, value) => callback(value)), onProcessStopped: (callback) => ipcRenderer.on('process-stopped', (_event, value) => callback(value)), onProcessError: (callback) => ipcRenderer.on('process-error', (_event, value) => callback(value)), onShowCloseWarning: (callback) => ipcRenderer.on('show-close-warning', () => callback()), onDecryptStatus: (callback) => ipcRenderer.on('decrypt-status', (_event, value) => callback(value)), onDecryptReady: (callback) => ipcRenderer.on('decrypt-ready', () => callback()), onDecryptReset: (callback) => ipcRenderer.on('decrypt-reset', () => callback()), onShowDecryptDialog: (callback) => ipcRenderer.on('show-decrypt-dialog', () => callback()) });