22 lines
1.1 KiB
JavaScript
22 lines
1.1 KiB
JavaScript
const { contextBridge, ipcRenderer } = require('electron');
|
|
|
|
contextBridge.exposeInMainWorld('nano', {
|
|
appInfo: () => ipcRenderer.invoke('app:info'),
|
|
windowControl: (action) => ipcRenderer.invoke('window:control', action),
|
|
chooseProject: () => ipcRenderer.invoke('project:choose'),
|
|
listProjectFiles: (projectPath) => ipcRenderer.invoke('project:files', projectPath),
|
|
readProjectFile: (payload) => ipcRenderer.invoke('project:read', payload),
|
|
searchProject: (payload) => ipcRenderer.invoke('project:search', payload),
|
|
writeProjectFile: (payload) => ipcRenderer.invoke('project:write', payload),
|
|
runCommand: (payload) => ipcRenderer.invoke('shell:run', payload),
|
|
openPath: (target) => ipcRenderer.invoke('shell:open', target),
|
|
computerAction: (action) => ipcRenderer.invoke('computer:action', action),
|
|
listWindows: () => ipcRenderer.invoke('computer:windows'),
|
|
runAgent: (payload) => ipcRenderer.invoke('agent:run', payload),
|
|
onAgentEvent: (callback) => {
|
|
const listener = (_event, data) => callback(data);
|
|
ipcRenderer.on('agent:event', listener);
|
|
return () => ipcRenderer.removeListener('agent:event', listener);
|
|
}
|
|
});
|