30 lines
1.6 KiB
JavaScript
30 lines
1.6 KiB
JavaScript
const { contextBridge, ipcRenderer } = require('electron');
|
|
|
|
contextBridge.exposeInMainWorld('gitZoneIde', {
|
|
listHosts: () => ipcRenderer.invoke('gitzone:list-hosts'),
|
|
saveHost: (input) => ipcRenderer.invoke('gitzone:save-host', input),
|
|
connect: (input) => ipcRenderer.invoke('gitzone:connect', input),
|
|
addProject: (input) => ipcRenderer.invoke('gitzone:add-project', input),
|
|
openProject: (input) => ipcRenderer.invoke('gitzone:open-project', input),
|
|
agent: {
|
|
sessions: (input) => ipcRenderer.invoke('gitzone:agent:sessions', input),
|
|
createSession: (input) => ipcRenderer.invoke('gitzone:agent:create-session', input),
|
|
messages: (input) => ipcRenderer.invoke('gitzone:agent:messages', input),
|
|
sessionStatus: (input) => ipcRenderer.invoke('gitzone:agent:session-status', input),
|
|
children: (input) => ipcRenderer.invoke('gitzone:agent:children', input),
|
|
prompt: (input) => ipcRenderer.invoke('gitzone:agent:prompt', input),
|
|
abort: (input) => ipcRenderer.invoke('gitzone:agent:abort', input),
|
|
respondToPermission: (input) => ipcRenderer.invoke('gitzone:agent:respond-permission', input),
|
|
onEvent: (callback) => {
|
|
const listener = (_event, payload) => callback(payload);
|
|
ipcRenderer.on('gitzone:agent:event', listener);
|
|
return () => ipcRenderer.removeListener('gitzone:agent:event', listener);
|
|
},
|
|
},
|
|
onConnectProgress: (callback) => {
|
|
const listener = (_event, message) => callback(message);
|
|
ipcRenderer.on('gitzone:connect-progress', listener);
|
|
return () => ipcRenderer.removeListener('gitzone:connect-progress', listener);
|
|
},
|
|
});
|