31 lines
1.7 KiB
JavaScript
31 lines
1.7 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),
|
|
openCode: {
|
|
health: (input) => ipcRenderer.invoke('gitzone:opencode-health', input),
|
|
sessions: (input) => ipcRenderer.invoke('gitzone:opencode-sessions', input),
|
|
createSession: (input) => ipcRenderer.invoke('gitzone:opencode-create-session', input),
|
|
messages: (input) => ipcRenderer.invoke('gitzone:opencode-messages', input),
|
|
prompt: (input) => ipcRenderer.invoke('gitzone:opencode-prompt', input),
|
|
abort: (input) => ipcRenderer.invoke('gitzone:opencode-abort', input),
|
|
respondToPermission: (input) => ipcRenderer.invoke('gitzone:opencode-respond-permission', input),
|
|
providers: (input) => ipcRenderer.invoke('gitzone:opencode-providers', input),
|
|
agents: (input) => ipcRenderer.invoke('gitzone:opencode-agents', input),
|
|
onEvent: (callback) => {
|
|
const listener = (_event, payload) => callback(payload);
|
|
ipcRenderer.on('gitzone:opencode-event', listener);
|
|
return () => ipcRenderer.removeListener('gitzone:opencode-event', listener);
|
|
},
|
|
},
|
|
onConnectProgress: (callback) => {
|
|
const listener = (_event, message) => callback(message);
|
|
ipcRenderer.on('gitzone:connect-progress', listener);
|
|
return () => ipcRenderer.removeListener('gitzone:connect-progress', listener);
|
|
},
|
|
});
|