const { contextBridge, ipcRenderer } = require('electron') contextBridge.exposeInMainWorld('codexHalo', { getUsage: () => ipcRenderer.invoke('usage:get'), refreshUsage: () => ipcRenderer.invoke('usage:refresh'), startWindowDrag: (point) => ipcRenderer.send('window:drag-start', point), moveWindowDrag: (point) => ipcRenderer.send('window:drag-move', point), endWindowDrag: () => ipcRenderer.send('window:drag-end'), expandDock: () => ipcRenderer.send('window:dock-expand'), collapseDock: () => ipcRenderer.send('window:dock-collapse'), onUsage: (callback) => { const listener = (_event, snapshot) => callback(snapshot) ipcRenderer.on('usage:snapshot', listener) return () => ipcRenderer.removeListener('usage:snapshot', listener) }, })