const { contextBridge, ipcRenderer } = require('electron') async function invoke(channel, payload) { const result = await ipcRenderer.invoke(channel, payload) if (result?.ok) return result.data const error = new Error(result?.error?.message || 'Request failed') error.status = result?.error?.status || null throw error } contextBridge.exposeInMainWorld('notesBridge', { getAccount: () => invoke('credentials:get'), saveCredentials: credentials => invoke('credentials:save', credentials), clearCredentials: () => invoke('credentials:clear'), syncNotes: payload => invoke('notes:sync', payload), createNote: payload => invoke('notes:create', payload), updateNote: payload => invoke('notes:update', payload), deleteNote: payload => invoke('notes:delete', payload), })