const { contextBridge, ipcRenderer } = require('electron'); contextBridge.exposeInMainWorld('safetynet', { mutateBookmarks:input=>ipcRenderer.invoke('managed:bookmarks-mutate',input), organizeLibrary:()=>ipcRenderer.invoke('managed:library-organize'), applyLibraryOrganization:input=>ipcRenderer.invoke('managed:library-apply',input), state:()=>ipcRenderer.invoke('managed:state'), authorizeSetting:section=>ipcRenderer.invoke('managed:authorize-setting',section), updateSettings:input=>ipcRenderer.invoke('managed:settings-update',input), windowControls:action=>ipcRenderer.invoke('managed:window-control',action), setChromeLayout:input=>ipcRenderer.invoke('managed:chrome-layout',input), shareURL:()=>ipcRenderer.invoke('managed:share-url'), enroll:input=>ipcRenderer.invoke('managed:enroll',input), sso:input=>ipcRenderer.invoke('managed:sso',input), navigate:url=>ipcRenderer.invoke('managed:navigate',url), createTab:input=>ipcRenderer.invoke('managed:tab-create',input), activateTab:id=>ipcRenderer.invoke('managed:tab-activate',id), closeTab:id=>ipcRenderer.invoke('managed:tab-close',id), groupTab:input=>ipcRenderer.invoke('managed:tab-group',input), back:()=>ipcRenderer.invoke('managed:back'),forward:()=>ipcRenderer.invoke('managed:forward'),reload:()=>ipcRenderer.invoke('managed:reload'), ai:prompt=>ipcRenderer.invoke('managed:ai',prompt), inspectFile:()=>ipcRenderer.invoke('managed:inspect-file'), agentConnection:principalId=>ipcRenderer.invoke('managed:agent-connection',principalId), toggleAI:open=>ipcRenderer.invoke('managed:ai-panel',open), toggleVault:open=>ipcRenderer.invoke('managed:vault-panel',open), vaultStatus:()=>ipcRenderer.invoke('managed:vault-status'), vaultCreate:master=>ipcRenderer.invoke('managed:vault-create',master), vaultUnlock:master=>ipcRenderer.invoke('managed:vault-unlock',master), vaultLock:()=>ipcRenderer.invoke('managed:vault-lock'), vaultList:()=>ipcRenderer.invoke('managed:vault-list'), vaultSave:entry=>ipcRenderer.invoke('managed:vault-save',entry), vaultDelete:id=>ipcRenderer.invoke('managed:vault-delete',id), vaultFill:id=>ipcRenderer.invoke('managed:vault-fill',id), vaultGenerate:()=>ipcRenderer.invoke('managed:vault-generate'), onState:callback=>{const listener=(_event,data)=>callback(data);ipcRenderer.on('managed:state',listener);return()=>ipcRenderer.removeListener('managed:state',listener);} });