Files

38 lines
2.6 KiB
JavaScript

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),
vaultPrepareSubmit:id=>ipcRenderer.invoke('managed:vault-prepare-submit',id),
vaultGenerate:()=>ipcRenderer.invoke('managed:vault-generate'),
onVaultHandoff:callback=>{ipcRenderer.on('managed:vault-handoff',(_event,token)=>{callback();ipcRenderer.send('managed:vault-handoff-ack',token);});},
onState:callback=>{const listener=(_event,data)=>callback(data);ipcRenderer.on('managed:state',listener);return()=>ipcRenderer.removeListener('managed:state',listener);}
});