const { contextBridge, ipcRenderer } = require('electron'); contextBridge.exposeInMainWorld('oddl', { getCapabilities: () => ipcRenderer.invoke('get-capabilities'), selectLocalDir: () => ipcRenderer.invoke('select-local-dir'), listLocalDir: (dirPath) => ipcRenderer.invoke('list-local-dir', dirPath), listRemoteDir: (url) => ipcRenderer.invoke('list-remote-dir', url), downloadItem: (payload) => ipcRenderer.invoke('download-item', payload), onLog: (callback) => ipcRenderer.on('log', (_event, message) => callback(message)), onProgress: (callback) => ipcRenderer.on('progress', (_event, payload) => callback(payload)), });