// preload.js const { contextBridge, ipcRenderer, desktopCapturer } = require('electron'); contextBridge.exposeInMainWorld('agentAPI', { getEmployeeId: () => ipcRenderer.invoke('get-employee-id') }); // preload.js contextBridge.exposeInMainWorld('electronAPI', { // 메인 → 렌더러 메시지 수신 receive: (channel, func) => { ipcRenderer.on(channel, (event, ...args) => func(...args)); }, // 렌더러 → 메인 메시지 전송 send: (channel, data) => { ipcRenderer.send(channel, data); } }); // desktopCapturer 노출 (보안 주의: 신뢰 가능한 코드만) contextBridge.exposeInMainWorld('desktopCapturer', { getSources: (options) => { return new Promise((resolve, reject) => { console.log(desktopCapturer); desktopCapturer.getSources(options, (error, sources) => { console.log('preload', sources) if (error) { console.error('preload err', error) reject(error); } else { console.log('preload sources', sources) resolve(sources); } }); }); } });