import { contextBridge, ipcRenderer } from 'electron' import type { Command, Report, State } from '../src/types/screen.js' contextBridge.exposeInMainWorld('screenBridge', { command: (command: Command) => ipcRenderer.invoke('command', command), report: (report: Report) => ipcRenderer.send('report', report), state: () => ipcRenderer.invoke('state'), subscribe: (listener: (state: State) => void) => { const handler = (_event: Electron.IpcRendererEvent, state: State) => listener(state) ipcRenderer.on('state', handler) return () => ipcRenderer.removeListener('state', handler) }, host: () => ipcRenderer.invoke('host'), show: (id: number) => ipcRenderer.invoke('show', id), packages: () => ipcRenderer.invoke('packages'), selectPackage: (key: string | null) => ipcRenderer.invoke('select-package', key), })