Spaces:
Build error
Build error
| const { contextBridge, ipcRenderer } = require('electron'); | |
| // Expose protected methods that allow the renderer process to use the ipcRenderer | |
| contextBridge.exposeInMainWorld('electronAPI', { | |
| // App info | |
| getAppVersion: () => ipcRenderer.invoke('get-app-version'), | |
| getUserDataPath: () => ipcRenderer.invoke('get-user-data-path'), | |
| getDocumentsPath: () => ipcRenderer.invoke('get-documents-path'), | |
| // Dialogs | |
| showOpenDialog: (options) => ipcRenderer.invoke('show-open-dialog', options), | |
| showSaveDialog: (options) => ipcRenderer.invoke('show-save-dialog', options), | |
| // Store | |
| setStore: (key, value) => ipcRenderer.invoke('set-store', key, value), | |
| getStore: (key, defaultValue) => ipcRenderer.invoke('get-store', key, defaultValue), | |
| deleteStore: (key) => ipcRenderer.invoke('delete-store', key), | |
| clearStore: () => ipcRenderer.invoke('clear-store'), | |
| // Events | |
| onNavigateToSettings: (callback) => ipcRenderer.on('navigate-to-settings', callback), | |
| onNavigateToHelp: (callback) => ipcRenderer.on('navigate-to-help', callback), | |
| removeAllListeners: (channel) => ipcRenderer.removeAllListeners(channel) | |
| }); | |
| // Secure API for models and voice | |
| contextBridge.exposeInMainWorld('modelAPI', { | |
| invoke: (channel, data) => { | |
| const validChannels = ['load-model', 'unload-model', 'generate-text', 'generate-image', 'generate-video']; | |
| if (validChannels.includes(channel)) { | |
| return ipcRenderer.invoke(channel, data); | |
| } | |
| } | |
| }); |