const { contextBridge, ipcRenderer } = require("electron"); contextBridge.exposeInMainWorld("reinloop", { getDefaults: () => ipcRenderer.invoke("app:get-defaults"), showInFolder: (filePath) => ipcRenderer.invoke("image:show-in-folder", filePath), chooseConfig: () => ipcRenderer.invoke("config:choose"), publishConfig: (request) => ipcRenderer.invoke("config:publish", request), getConfig: (request) => ipcRenderer.invoke("config:get", request), setConnection: (request) => ipcRenderer.invoke("connection:set", request), testConnection: (request) => ipcRenderer.invoke("connection:test", request), listOrganizations: (credentials) => ipcRenderer.invoke("organization:list", credentials), createCompany: (request) => ipcRenderer.invoke("organization:create-company", request), createProductionLine: (request) => ipcRenderer.invoke("organization:create-line", request), issueLicense: (request) => ipcRenderer.invoke("license:issue", request), listLicenses: (credentials) => ipcRenderer.invoke("license:list", credentials), getLicense: (request) => ipcRenderer.invoke("license:get", request), revokeLicense: (request) => ipcRenderer.invoke("license:revoke", request), downloadLicense: (request) => ipcRenderer.invoke("license:download", request), submitReview: (request) => ipcRenderer.invoke("review:submit", request), listModels: (request) => ipcRenderer.invoke("model:list", request), chooseModelUploadFile: () => ipcRenderer.invoke("model:choose-upload-file"), uploadModel: (request) => ipcRenderer.invoke("model:upload", request), downloadModel: (request) => ipcRenderer.invoke("model:download", request), deleteModel: (request) => ipcRenderer.invoke("model:delete", request), listIdentificationFiles: (request) => ipcRenderer.invoke("identification:list", request), previewIdentificationFile: (request) => ipcRenderer.invoke("identification:preview", request), downloadIdentificationFile: (request) => ipcRenderer.invoke("identification:download", request), deleteIdentificationFile: (request) => ipcRenderer.invoke("identification:delete", request), listControlFiles: (request) => ipcRenderer.invoke("control-data:list", request), previewControlFile: (request) => ipcRenderer.invoke("control-data:preview", request), downloadControlFile: (request) => ipcRenderer.invoke("control-data:download", request), deleteControlFile: (request) => ipcRenderer.invoke("control-data:delete", request), onCsvUpdated: (callback) => ipcRenderer.on("csv:updated", (_event, result) => callback(result)), onCsvWatchError: (callback) => ipcRenderer.on("csv:watch-error", (_event, message) => callback(message)) });