@uniqueli/openwork 0.2.2 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,16 @@
1
1
  "use strict";
2
2
  const electron = require("electron");
3
+ function ipcRequest(channel, ...args) {
4
+ return new Promise((resolve) => {
5
+ const responseChannel = `${channel}:result`;
6
+ const handler = (_, result) => {
7
+ electron.ipcRenderer.removeListener(responseChannel, handler);
8
+ resolve(result);
9
+ };
10
+ electron.ipcRenderer.once(responseChannel, handler);
11
+ electron.ipcRenderer.send(channel, ...args);
12
+ });
13
+ }
3
14
  const electronAPI = {
4
15
  ipcRenderer: {
5
16
  send: (channel, ...args) => electron.ipcRenderer.send(channel, ...args),
@@ -158,6 +169,50 @@ const api = {
158
169
  electron.ipcRenderer.removeListener("workspace:files-changed", handler);
159
170
  };
160
171
  }
172
+ },
173
+ skills: {
174
+ list: (params) => {
175
+ return ipcRequest("skills:list", params);
176
+ },
177
+ get: (skillId) => {
178
+ return ipcRequest("skills:get", { skillId });
179
+ },
180
+ create: (params) => {
181
+ return ipcRequest("skills:create", params);
182
+ },
183
+ update: (params) => {
184
+ return ipcRequest("skills:update", params);
185
+ },
186
+ delete: (skillId) => {
187
+ return ipcRequest("skills:delete", { skillId });
188
+ },
189
+ toggle: (skillId, enabled) => {
190
+ return ipcRequest("skills:toggle", { skillId, enabled });
191
+ },
192
+ setEnabled: (skillIds) => {
193
+ return ipcRequest("skills:setEnabled", { skillIds });
194
+ },
195
+ getConfig: () => {
196
+ return ipcRequest("skills:getConfig");
197
+ },
198
+ search: (query) => {
199
+ return ipcRequest("skills:search", { query });
200
+ },
201
+ export: () => {
202
+ return ipcRequest("skills:export");
203
+ },
204
+ import: (data) => {
205
+ return ipcRequest("skills:import", { data });
206
+ },
207
+ getStats: () => {
208
+ return ipcRequest("skills:getStats");
209
+ },
210
+ recordUsage: (skillId) => {
211
+ return ipcRequest("skills:recordUsage", { skillId });
212
+ },
213
+ getUsage: (skillId) => {
214
+ return ipcRequest("skills:getUsage", { skillId });
215
+ }
161
216
  }
162
217
  };
163
218
  if (process.contextIsolated) {