verteilen-core 1.2.4 → 1.2.7

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.
Files changed (142) hide show
  1. package/dist/client/analysis.d.ts +35 -0
  2. package/dist/client/analysis.js +382 -0
  3. package/dist/client/client.d.ts +25 -0
  4. package/dist/client/client.js +227 -0
  5. package/dist/client/cluster.d.ts +1 -0
  6. package/dist/{src/client → client}/cluster.js +1 -2
  7. package/dist/client/database.d.ts +13 -0
  8. package/dist/client/database.js +37 -0
  9. package/dist/client/execute.d.ts +24 -0
  10. package/dist/{src/client → client}/execute.js +61 -51
  11. package/dist/client/http.d.ts +7 -0
  12. package/dist/client/http.js +40 -0
  13. package/dist/client/javascript.d.ts +47 -0
  14. package/dist/{src/client → client}/javascript.js +110 -136
  15. package/dist/client/job_database.d.ts +10 -0
  16. package/dist/client/job_database.js +34 -0
  17. package/dist/client/job_execute.d.ts +20 -0
  18. package/dist/client/job_execute.js +173 -0
  19. package/dist/client/os.d.ts +29 -0
  20. package/dist/client/os.js +197 -0
  21. package/dist/client/resource.d.ts +7 -0
  22. package/dist/client/resource.js +107 -0
  23. package/dist/client/shell.d.ts +16 -0
  24. package/dist/client/shell.js +122 -0
  25. package/dist/computed.d.ts +13 -0
  26. package/dist/index.d.ts +3 -0
  27. package/dist/index.js +3 -3
  28. package/dist/interface/base.d.ts +70 -0
  29. package/dist/interface/bus.d.ts +90 -0
  30. package/dist/interface/enum.d.ts +143 -0
  31. package/dist/interface/execute.d.ts +20 -0
  32. package/dist/interface/record.d.ts +93 -0
  33. package/dist/interface/server.d.ts +76 -0
  34. package/dist/interface/struct.d.ts +182 -0
  35. package/dist/interface/table.d.ts +20 -0
  36. package/dist/interface/ui.d.ts +29 -0
  37. package/dist/interface.d.ts +29 -0
  38. package/dist/plugins/i18n.d.ts +1666 -0
  39. package/dist/script/console_manager.d.ts +18 -0
  40. package/dist/script/console_manager.js +131 -0
  41. package/dist/script/console_server_manager.d.ts +13 -0
  42. package/dist/script/console_server_manager.js +40 -0
  43. package/dist/script/execute/base.d.ts +45 -0
  44. package/dist/script/execute/base.js +200 -0
  45. package/dist/script/execute/feedback.d.ts +12 -0
  46. package/dist/script/execute/feedback.js +179 -0
  47. package/dist/script/execute/interface.d.ts +8 -0
  48. package/dist/script/execute/region_job.d.ts +5 -0
  49. package/dist/{src/script → script}/execute/region_job.js +1 -0
  50. package/dist/script/execute/region_project.d.ts +10 -0
  51. package/dist/{src/script → script}/execute/region_project.js +4 -0
  52. package/dist/script/execute/region_subtask.d.ts +5 -0
  53. package/dist/{src/script → script}/execute/region_subtask.js +1 -0
  54. package/dist/script/execute/region_task.d.ts +10 -0
  55. package/dist/{src/script → script}/execute/region_task.js +4 -0
  56. package/dist/script/execute/runner.d.ts +14 -0
  57. package/dist/script/execute/runner.js +264 -0
  58. package/dist/script/execute/util_parser.d.ts +14 -0
  59. package/dist/script/execute/util_parser.js +135 -0
  60. package/dist/script/execute_manager.d.ts +25 -0
  61. package/dist/script/execute_manager.js +297 -0
  62. package/dist/script/socket_manager.d.ts +31 -0
  63. package/dist/script/socket_manager.js +263 -0
  64. package/dist/script/webhook_manager.d.ts +3 -0
  65. package/dist/script/webhook_server_manager.d.ts +13 -0
  66. package/dist/script/webhook_server_manager.js +133 -0
  67. package/dist/server/detail.d.ts +72 -0
  68. package/dist/server/detail.js +451 -0
  69. package/dist/server/io.d.ts +46 -0
  70. package/dist/{src/server → server}/io.js +42 -51
  71. package/dist/server/plugin.d.ts +18 -0
  72. package/dist/{src/server → server}/plugin.js +45 -54
  73. package/dist/server/server.d.ts +27 -0
  74. package/dist/server/server.js +53 -0
  75. package/dist/server.d.ts +4 -0
  76. package/dist/util/console_handle.d.ts +20 -0
  77. package/dist/util/console_handle.js +244 -0
  78. package/dist/util/log_handle.d.ts +23 -0
  79. package/dist/util/log_handle.js +224 -0
  80. package/index.ts +1 -6
  81. package/package.json +1 -1
  82. package/src/index.ts +6 -0
  83. package/test/TEST.d.ts +1 -0
  84. package/test/TEST.js +88 -0
  85. package/test/client/execute.test.d.ts +1 -0
  86. package/{dist/test → test}/client/execute.test.js +6 -15
  87. package/test/client/javascript.test.d.ts +1 -0
  88. package/{dist/test → test}/client/javascript.test.js +21 -30
  89. package/test/client/server.test.d.ts +1 -0
  90. package/test/client/task.test.d.ts +1 -0
  91. package/{dist/test → test}/client/task.test.js +1 -1
  92. package/test/script/parser.test.d.ts +1 -0
  93. package/test/script/socket.test.d.ts +1 -0
  94. package/tsconfig.json +8 -4
  95. package/dist/jest.config.js +0 -8
  96. package/dist/src/client/analysis.js +0 -383
  97. package/dist/src/client/client.js +0 -233
  98. package/dist/src/client/database.js +0 -36
  99. package/dist/src/client/http.js +0 -37
  100. package/dist/src/client/job_database.js +0 -36
  101. package/dist/src/client/job_execute.js +0 -171
  102. package/dist/src/client/job_parameter.js +0 -36
  103. package/dist/src/client/os.js +0 -202
  104. package/dist/src/client/parameter.js +0 -36
  105. package/dist/src/client/resource.js +0 -118
  106. package/dist/src/client/shell.js +0 -118
  107. package/dist/src/script/console_manager.js +0 -125
  108. package/dist/src/script/console_server_manager.js +0 -37
  109. package/dist/src/script/execute/base.js +0 -197
  110. package/dist/src/script/execute/feedback.js +0 -188
  111. package/dist/src/script/execute/runner.js +0 -274
  112. package/dist/src/script/execute/util_parser.js +0 -137
  113. package/dist/src/script/execute_manager.js +0 -309
  114. package/dist/src/script/socket_manager.js +0 -260
  115. package/dist/src/script/webhook_server_manager.js +0 -140
  116. package/dist/src/server/detail.js +0 -428
  117. package/dist/src/server/server.js +0 -51
  118. package/dist/src/util/console_handle.js +0 -248
  119. package/dist/src/util/log_handle.js +0 -230
  120. package/dist/src/util/server/console_handle.js +0 -248
  121. package/dist/src/util/server/log_handle.js +0 -230
  122. package/dist/test/TEST.js +0 -105
  123. /package/dist/{src/computed.js → computed.js} +0 -0
  124. /package/dist/{src/interface → interface}/base.js +0 -0
  125. /package/dist/{src/interface → interface}/bus.js +0 -0
  126. /package/dist/{src/interface → interface}/enum.js +0 -0
  127. /package/dist/{src/interface → interface}/execute.js +0 -0
  128. /package/dist/{src/interface → interface}/record.js +0 -0
  129. /package/dist/{src/interface → interface}/server.js +0 -0
  130. /package/dist/{src/interface → interface}/struct.js +0 -0
  131. /package/dist/{src/interface → interface}/table.js +0 -0
  132. /package/dist/{src/interface → interface}/ui.js +0 -0
  133. /package/dist/{src/interface.js → interface.js} +0 -0
  134. /package/dist/{src/lan → lan}/en.json +0 -0
  135. /package/dist/{src/lan → lan}/zh_TW.json +0 -0
  136. /package/dist/{src/plugins → plugins}/i18n.js +0 -0
  137. /package/dist/{src/script → script}/execute/interface.js +0 -0
  138. /package/dist/{src/script → script}/webhook_manager.js +0 -0
  139. /package/dist/{src/server.js → server.js} +0 -0
  140. /package/{dist/test → test}/client/server.test.js +0 -0
  141. /package/{dist/test → test}/script/parser.test.js +0 -0
  142. /package/{dist/test → test}/script/socket.test.js +0 -0
@@ -32,15 +32,6 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
- return new (P || (P = Promise))(function (resolve, reject) {
38
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
- step((generator = generator.apply(thisArg, _arguments || [])).next());
42
- });
43
- };
44
35
  Object.defineProperty(exports, "__esModule", { value: true });
45
36
  exports.ClientJavascript = exports.safeEval = void 0;
46
37
  const vm = __importStar(require("vm"));
@@ -80,11 +71,10 @@ let messager_log;
80
71
  let clientos;
81
72
  let para = undefined;
82
73
  let waiting = 0;
83
- const tag = () => { var _a, _b; return (_b = (_a = getjob === null || getjob === void 0 ? void 0 : getjob()) === null || _a === void 0 ? void 0 : _a.uuid) !== null && _b !== void 0 ? _b : 'unknown'; };
84
- const runtime = () => { var _a, _b; return (_b = (_a = getjob === null || getjob === void 0 ? void 0 : getjob()) === null || _a === void 0 ? void 0 : _a.runtime_uuid) !== null && _b !== void 0 ? _b : 'unknown'; };
74
+ const tag = () => getjob?.()?.uuid ?? 'unknown';
75
+ const runtime = () => getjob?.()?.runtime_uuid ?? 'unknown';
85
76
  function has(key, checker) {
86
- var _a;
87
- const p = (_a = getpara === null || getpara === void 0 ? void 0 : getpara()) !== null && _a !== void 0 ? _a : undefined;
77
+ const p = getpara?.() ?? undefined;
88
78
  if (p == undefined)
89
79
  return false;
90
80
  return p.containers.findIndex(x => x.name == key && (checker ? checker(x.type) : true)) != -1;
@@ -108,19 +98,17 @@ function hasselect(key) {
108
98
  return has(key, (x) => x == interface_1.DataType.Select);
109
99
  }
110
100
  function get(key, checker) {
111
- var _a, _b, _c;
112
- const p = (_a = getpara === null || getpara === void 0 ? void 0 : getpara()) !== null && _a !== void 0 ? _a : undefined;
101
+ const p = getpara?.() ?? undefined;
113
102
  if (p == undefined)
114
103
  return undefined;
115
- return (_c = (_b = p.containers.find(x => x.name == key && (checker ? checker(x.type) : true))) === null || _b === void 0 ? void 0 : _b.value) !== null && _c !== void 0 ? _c : undefined;
104
+ return p.containers.find(x => x.name == key && (checker ? checker(x.type) : true))?.value ?? undefined;
116
105
  }
117
106
  function getboolean(key) {
118
107
  return get(key, (x) => x == interface_1.DataType.Boolean);
119
108
  }
120
109
  function getnumber(key) {
121
- var _a;
122
110
  if (key == 'ck') {
123
- const r = (_a = getjob === null || getjob === void 0 ? void 0 : getjob()) === null || _a === void 0 ? void 0 : _a.index;
111
+ const r = getjob?.()?.index;
124
112
  if (r != undefined)
125
113
  return r;
126
114
  return 0;
@@ -138,19 +126,18 @@ function getlist(key) {
138
126
  }
139
127
  function getselect(key) {
140
128
  const s = get(key, (x) => x == interface_1.DataType.Select);
141
- if ((s === null || s === void 0 ? void 0 : s.meta) == undefined)
129
+ if (s?.meta == undefined)
142
130
  return undefined;
143
131
  return s.meta[s.value];
144
132
  }
145
133
  function getselectlendth(key) {
146
134
  const s = get(key, (x) => x == interface_1.DataType.Select);
147
- if ((s === null || s === void 0 ? void 0 : s.meta) == undefined)
135
+ if (s?.meta == undefined)
148
136
  return undefined;
149
137
  return s.meta.length;
150
138
  }
151
139
  function _set(key, checker, created = true) {
152
- var _a;
153
- const p = (_a = getpara === null || getpara === void 0 ? void 0 : getpara()) !== null && _a !== void 0 ? _a : undefined;
140
+ const p = getpara?.() ?? undefined;
154
141
  if (p == undefined)
155
142
  return undefined;
156
143
  if (!p.canWrite)
@@ -191,7 +178,7 @@ function setboolean(key, value) {
191
178
  else {
192
179
  target.value = value;
193
180
  }
194
- para === null || para === void 0 ? void 0 : para.feedbackboolean({ key: key, value: value });
181
+ para?.feedbackboolean({ key: key, value: value });
195
182
  }
196
183
  function setnumber(key, value) {
197
184
  if (key == 'ck') {
@@ -205,7 +192,7 @@ function setnumber(key, value) {
205
192
  else {
206
193
  target.value = value;
207
194
  }
208
- para === null || para === void 0 ? void 0 : para.feedbacknumber({ key: key, value: value });
195
+ para?.feedbacknumber({ key: key, value: value });
209
196
  }
210
197
  function setstring(key, value) {
211
198
  let target = _set(key, (x) => x == interface_1.DataType.String);
@@ -215,7 +202,7 @@ function setstring(key, value) {
215
202
  else {
216
203
  target.value = value;
217
204
  }
218
- para === null || para === void 0 ? void 0 : para.feedbackstring({ key: key, value: value });
205
+ para?.feedbackstring({ key: key, value: value });
219
206
  }
220
207
  function setobject(key, value) {
221
208
  let target = _set(key, (x) => x == interface_1.DataType.Object);
@@ -225,7 +212,7 @@ function setobject(key, value) {
225
212
  else {
226
213
  target.value = value;
227
214
  }
228
- para === null || para === void 0 ? void 0 : para.feedbackobject({ key: key, value: value });
215
+ para?.feedbackobject({ key: key, value: value });
229
216
  }
230
217
  function setlist(key, value) {
231
218
  let target = _set(key, (x) => x == interface_1.DataType.List);
@@ -235,66 +222,22 @@ function setlist(key, value) {
235
222
  else {
236
223
  target.value = value;
237
224
  }
238
- para === null || para === void 0 ? void 0 : para.feedbackobject({ key: key, value: value });
225
+ para?.feedbackobject({ key: key, value: value });
239
226
  }
240
227
  function setselect(key, value) {
241
228
  const target = _set(key, (x) => x == interface_1.DataType.Select);
242
229
  if (target == undefined)
243
230
  return;
244
231
  target.value = value;
245
- para === null || para === void 0 ? void 0 : para.feedbackobject({ key: key, value: value });
232
+ para?.feedbackobject({ key: key, value: value });
246
233
  }
247
234
  class ClientJavascript {
235
+ path;
236
+ os;
237
+ env;
238
+ message;
239
+ http;
248
240
  constructor(_messager, _messager_log, _getjob) {
249
- this.JavascriptExecuteWithLib = (javascript, libs, log) => {
250
- var _a;
251
- waiting = 0;
252
- let context = this.getJavascriptEnv(interface_1.JavascriptLib.ALL, log);
253
- let result = 0;
254
- context = Object.assign(context, { result: result });
255
- let script = '';
256
- const p = (_a = getlib === null || getlib === void 0 ? void 0 : getlib()) !== null && _a !== void 0 ? _a : undefined;
257
- if (p != undefined) {
258
- libs.forEach(x => {
259
- const t = p.libs.find(y => y.name == x);
260
- if (t != undefined)
261
- script += ("\n" + t.content + "\n");
262
- });
263
- }
264
- script += javascript;
265
- const r = (0, exports.safeEval)(script, context);
266
- let time = -1;
267
- return new Promise((resolve) => {
268
- let handle = undefined;
269
- handle = setInterval(() => {
270
- if (waiting == 0 && time > 1) {
271
- clearInterval(handle);
272
- resolve(r);
273
- }
274
- time = time + 1;
275
- }, 100);
276
- });
277
- };
278
- this.JavascriptExecute = (javascript, log) => {
279
- waiting = 0;
280
- let context = this.getJavascriptEnv(interface_1.JavascriptLib.OS | interface_1.JavascriptLib.MESSAGE | interface_1.JavascriptLib.HTTP | interface_1.JavascriptLib.PATH, log);
281
- let result = 0;
282
- context = Object.assign(context, { result: result });
283
- let script = '';
284
- script += javascript;
285
- const r = (0, exports.safeEval)(script, context);
286
- let time = -1;
287
- return new Promise((resolve) => {
288
- let handle = undefined;
289
- handle = setInterval(() => {
290
- if (waiting == 0 && time > 1) {
291
- clearInterval(handle);
292
- resolve(r);
293
- }
294
- time = time + 1;
295
- }, 100);
296
- });
297
- };
298
241
  messager = _messager;
299
242
  messager_log = _messager_log;
300
243
  this.path = {
@@ -355,6 +298,63 @@ class ClientJavascript {
355
298
  patch: this.httpPatch,
356
299
  };
357
300
  }
301
+ static Init = (_messager, _messager_log, _clientos, _para, _getlib, _getpara, _getjob) => {
302
+ messager = _messager;
303
+ messager_log = _messager_log;
304
+ clientos = _clientos;
305
+ para = _para;
306
+ getlib = _getlib;
307
+ getpara = _getpara;
308
+ getjob = _getjob;
309
+ };
310
+ JavascriptExecuteWithLib = (javascript, libs, log) => {
311
+ waiting = 0;
312
+ let context = this.getJavascriptEnv(interface_1.JavascriptLib.ALL, log);
313
+ let result = 0;
314
+ context = Object.assign(context, { result: result });
315
+ let script = '';
316
+ const p = getlib?.() ?? undefined;
317
+ if (p != undefined) {
318
+ libs.forEach(x => {
319
+ const t = p.libs.find(y => y.name == x);
320
+ if (t != undefined)
321
+ script += ("\n" + t.content + "\n");
322
+ });
323
+ }
324
+ script += javascript;
325
+ const r = (0, exports.safeEval)(script, context);
326
+ let time = -1;
327
+ return new Promise((resolve) => {
328
+ let handle = undefined;
329
+ handle = setInterval(() => {
330
+ if (waiting == 0 && time > 1) {
331
+ clearInterval(handle);
332
+ resolve(r);
333
+ }
334
+ time = time + 1;
335
+ }, 100);
336
+ });
337
+ };
338
+ JavascriptExecute = (javascript, log) => {
339
+ waiting = 0;
340
+ let context = this.getJavascriptEnv(interface_1.JavascriptLib.OS | interface_1.JavascriptLib.MESSAGE | interface_1.JavascriptLib.HTTP | interface_1.JavascriptLib.PATH, log);
341
+ let result = 0;
342
+ context = Object.assign(context, { result: result });
343
+ let script = '';
344
+ script += javascript;
345
+ const r = (0, exports.safeEval)(script, context);
346
+ let time = -1;
347
+ return new Promise((resolve) => {
348
+ let handle = undefined;
349
+ handle = setInterval(() => {
350
+ if (waiting == 0 && time > 1) {
351
+ clearInterval(handle);
352
+ resolve(r);
353
+ }
354
+ time = time + 1;
355
+ }, 100);
356
+ });
357
+ };
358
358
  getJavascriptEnv(flags = interface_1.JavascriptLib.ALL, log) {
359
359
  let javascriptEnv = {};
360
360
  if ((flags & interface_1.JavascriptLib.PATH) == interface_1.JavascriptLib.PATH)
@@ -435,12 +435,12 @@ class ClientJavascript {
435
435
  }
436
436
  exec(command, args, cwd) {
437
437
  waiting += 1;
438
- clientos === null || clientos === void 0 ? void 0 : clientos.command_exec(command, args, cwd);
438
+ clientos?.command_exec(command, args, cwd);
439
439
  waiting -= 1;
440
440
  }
441
441
  command(command, args, cwd) {
442
442
  waiting += 1;
443
- return clientos === null || clientos === void 0 ? void 0 : clientos.command_sync(command, args, cwd).then(() => {
443
+ return clientos?.command_sync(command, args, cwd).then(() => {
444
444
  waiting -= 1;
445
445
  }).catch(() => {
446
446
  waiting -= 1;
@@ -450,104 +450,78 @@ class ClientJavascript {
450
450
  waiting += 1;
451
451
  const cwd = path.join(os.homedir(), interface_1.DATA_FOLDER, 'exe');
452
452
  const cc = process.platform == "win32" ? command : "./" + command;
453
- clientos === null || clientos === void 0 ? void 0 : clientos.command_exec(cc, args, cwd);
453
+ clientos?.command_exec(cc, args, cwd);
454
454
  waiting -= 1;
455
455
  }
456
456
  plugin_command(command, args) {
457
457
  waiting += 1;
458
458
  const cwd = path.join(os.homedir(), interface_1.DATA_FOLDER, 'exe');
459
459
  const cc = process.platform == "win32" ? command : "./" + command;
460
- return clientos === null || clientos === void 0 ? void 0 : clientos.command_sync(cc, args, cwd).then(() => {
460
+ return clientos?.command_sync(cc, args, cwd).then(() => {
461
461
  waiting -= 1;
462
462
  }).catch(() => {
463
463
  waiting -= 1;
464
464
  });
465
465
  }
466
466
  copyfile(from, to) {
467
- clientos === null || clientos === void 0 ? void 0 : clientos.file_copy({ from: from, to: to });
467
+ clientos?.file_copy({ from: from, to: to });
468
468
  }
469
469
  copydir(from, to) {
470
- clientos === null || clientos === void 0 ? void 0 : clientos.dir_copy({ from: from, to: to });
470
+ clientos?.dir_copy({ from: from, to: to });
471
471
  }
472
472
  deletefile(path) {
473
- clientos === null || clientos === void 0 ? void 0 : clientos.file_delete({ path: path });
473
+ clientos?.file_delete({ path: path });
474
474
  }
475
475
  deletedir(path) {
476
- clientos === null || clientos === void 0 ? void 0 : clientos.dir_delete({ path: path });
476
+ clientos?.dir_delete({ path: path });
477
477
  }
478
478
  rename(from, to) {
479
- return clientos === null || clientos === void 0 ? void 0 : clientos.rename({ from: from, to: to });
479
+ return clientos?.rename({ from: from, to: to });
480
480
  }
481
481
  exist(path) {
482
- var _a;
483
- return (_a = clientos === null || clientos === void 0 ? void 0 : clientos.fs_exist({ path: path })) !== null && _a !== void 0 ? _a : false;
482
+ return clientos?.fs_exist({ path: path }) ?? false;
484
483
  }
485
484
  listfile(path) {
486
- return clientos === null || clientos === void 0 ? void 0 : clientos.dir_files({ path: path });
485
+ return clientos?.dir_files({ path: path });
487
486
  }
488
487
  listdir(path) {
489
- return clientos === null || clientos === void 0 ? void 0 : clientos.dir_dirs({ path: path });
488
+ return clientos?.dir_dirs({ path: path });
490
489
  }
491
490
  createdir(path) {
492
- clientos === null || clientos === void 0 ? void 0 : clientos.dir_create({ path: path });
491
+ clientos?.dir_create({ path: path });
493
492
  }
494
493
  writefile(path, data) {
495
- clientos === null || clientos === void 0 ? void 0 : clientos.file_write({ from: path, to: data });
494
+ clientos?.file_write({ from: path, to: data });
496
495
  }
497
496
  readfile(path) {
498
- return clientos === null || clientos === void 0 ? void 0 : clientos.file_read({ path: path });
497
+ return clientos?.file_read({ path: path });
499
498
  }
500
- wait(time) {
501
- return __awaiter(this, void 0, void 0, function* () {
502
- return new Promise((resolve) => setTimeout(resolve, time * 1000));
503
- });
499
+ async wait(time) {
500
+ return new Promise((resolve) => setTimeout(resolve, time * 1000));
504
501
  }
505
- sleep(n) {
506
- return __awaiter(this, void 0, void 0, function* () {
507
- Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, n * 1000);
508
- });
502
+ async sleep(n) {
503
+ Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, n * 1000);
509
504
  }
510
- httpGet(url, p) {
511
- return __awaiter(this, void 0, void 0, function* () {
512
- return this.httpGo('GET', url, p.toObject());
513
- });
505
+ async httpGet(url, p) {
506
+ return this.httpGo('GET', url, p.toObject());
514
507
  }
515
- httpPost(url, p) {
516
- return __awaiter(this, void 0, void 0, function* () {
517
- return this.httpGo('POST', url, p.toObject());
518
- });
508
+ async httpPost(url, p) {
509
+ return this.httpGo('POST', url, p.toObject());
519
510
  }
520
- httpDelete(url, p) {
521
- return __awaiter(this, void 0, void 0, function* () {
522
- return this.httpGo('DELETE', url, p.toObject());
523
- });
511
+ async httpDelete(url, p) {
512
+ return this.httpGo('DELETE', url, p.toObject());
524
513
  }
525
- httpPatch(url, p) {
526
- return __awaiter(this, void 0, void 0, function* () {
527
- return this.httpGo('PATCH', url, p.toObject());
528
- });
514
+ async httpPatch(url, p) {
515
+ return this.httpGo('PATCH', url, p.toObject());
529
516
  }
530
- httpPut(url, p) {
531
- return __awaiter(this, void 0, void 0, function* () {
532
- return this.httpGo('PUT', url, p.toObject());
533
- });
517
+ async httpPut(url, p) {
518
+ return this.httpGo('PUT', url, p.toObject());
534
519
  }
535
- httpGo(method, url, p) {
536
- return __awaiter(this, void 0, void 0, function* () {
537
- return fetch(url, {
538
- method: method,
539
- body: p
540
- });
520
+ async httpGo(method, url, p) {
521
+ return fetch(url, {
522
+ method: method,
523
+ body: p
541
524
  });
542
525
  }
543
526
  }
544
527
  exports.ClientJavascript = ClientJavascript;
545
- ClientJavascript.Init = (_messager, _messager_log, _clientos, _para, _getlib, _getpara, _getjob) => {
546
- messager = _messager;
547
- messager_log = _messager_log;
548
- clientos = _clientos;
549
- para = _para;
550
- getlib = _getlib;
551
- getpara = _getpara;
552
- getjob = _getjob;
553
- };
@@ -0,0 +1,10 @@
1
+ import { Setter } from "../interface";
2
+ export declare class ClientJobDatabase {
3
+ feedbacknumber: (data: Setter) => void;
4
+ feedbackboolean: (data: Setter) => void;
5
+ feedbackstring: (data: Setter) => void;
6
+ feedbackobject: (data: Setter) => void;
7
+ feedbacklist: (data: Setter) => void;
8
+ feedbackselect: (data: Setter) => void;
9
+ private feedback;
10
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClientJobDatabase = void 0;
4
+ class ClientJobDatabase {
5
+ feedbacknumber = (data) => {
6
+ this.feedback("feedbacknumber", data);
7
+ };
8
+ feedbackboolean = (data) => {
9
+ this.feedback("feedbackboolean", data);
10
+ };
11
+ feedbackstring = (data) => {
12
+ this.feedback("feedbackstring", data);
13
+ };
14
+ feedbackobject = (data) => {
15
+ this.feedback("feedbackobject", data);
16
+ };
17
+ feedbacklist = (data) => {
18
+ this.feedback("feedbacklist", data);
19
+ };
20
+ feedbackselect = (data) => {
21
+ this.feedback("feedbackselect", data);
22
+ };
23
+ feedback = (title, data) => {
24
+ const p = {
25
+ name: title,
26
+ data: {
27
+ key: data.key,
28
+ value: data.value
29
+ }
30
+ };
31
+ console.log(JSON.stringify(p));
32
+ };
33
+ }
34
+ exports.ClientJobDatabase = ClientJobDatabase;
@@ -0,0 +1,20 @@
1
+ import WebSocket from "ws";
2
+ import { Job, Libraries, Messager, Messager_log, Database, PluginList } from "../interface";
3
+ export declare class ClientJobExecute {
4
+ database: Database | undefined;
5
+ libraries: Libraries | undefined;
6
+ tag: string;
7
+ runtime: string;
8
+ private messager;
9
+ private messager_log;
10
+ private javascript;
11
+ private os;
12
+ private para;
13
+ private job;
14
+ private plugin;
15
+ constructor(_messager: Messager, _messager_log: Messager_log, _job: Job, _source: WebSocket | undefined, _plugin: PluginList);
16
+ execute: () => Promise<string>;
17
+ stop_all: () => void;
18
+ private execute_job_exe;
19
+ private execute_job_con;
20
+ }
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClientJobExecute = void 0;
4
+ const interface_1 = require("../interface");
5
+ const i18n_1 = require("../plugins/i18n");
6
+ const javascript_1 = require("./javascript");
7
+ const job_database_1 = require("./job_database");
8
+ const os_1 = require("./os");
9
+ class ClientJobExecute {
10
+ database;
11
+ libraries;
12
+ tag;
13
+ runtime;
14
+ messager;
15
+ messager_log;
16
+ javascript;
17
+ os;
18
+ para;
19
+ job;
20
+ plugin;
21
+ constructor(_messager, _messager_log, _job, _source, _plugin) {
22
+ this.messager = _messager;
23
+ this.messager_log = _messager_log;
24
+ this.tag = _job.uuid;
25
+ this.runtime = _job.runtime_uuid || '';
26
+ this.job = _job;
27
+ this.plugin = _plugin;
28
+ this.para = new job_database_1.ClientJobDatabase();
29
+ this.os = new os_1.ClientOS(() => this.tag, () => this.job.runtime_uuid || '', _messager, _messager_log);
30
+ this.javascript = new javascript_1.ClientJavascript(_messager, _messager_log, () => this.job);
31
+ this.database = process.env.database != undefined ? JSON.parse(process.env.database) : undefined;
32
+ this.libraries = process.env.libraries != undefined ? JSON.parse(process.env.libraries) : undefined;
33
+ javascript_1.ClientJavascript.Init(_messager, _messager_log, this.os, this.para, () => this.libraries, () => this.database, () => this.job);
34
+ }
35
+ execute = () => {
36
+ this.messager_log(`[Execute] ${this.job.uuid} ${this.job.category == interface_1.JobCategory.Execution ? i18n_1.i18n.global.t(interface_1.JobTypeText[this.job.type]) : i18n_1.i18n.global.t(interface_1.JobType2Text[this.job.type])}`, this.tag, this.runtime);
37
+ const child = this.job.category == interface_1.JobCategory.Execution ? this.execute_job_exe() : this.execute_job_con();
38
+ return child;
39
+ };
40
+ stop_all = () => {
41
+ this.os.stopall();
42
+ };
43
+ execute_job_exe = () => {
44
+ return new Promise(async (resolve, reject) => {
45
+ switch (this.job.type) {
46
+ case interface_1.JobType.COPY_FILE:
47
+ {
48
+ const data = { from: this.job.string_args[0], to: this.job.string_args[1] };
49
+ this.os.file_copy(data);
50
+ resolve(`Copy file successfully, ${data.from}, ${data.to}`);
51
+ break;
52
+ }
53
+ case interface_1.JobType.COPY_DIR:
54
+ {
55
+ const data = { from: this.job.string_args[0], to: this.job.string_args[1] };
56
+ this.os.dir_copy(data);
57
+ resolve(`Copy dir successfully, ${data.from}, ${data.to}`);
58
+ break;
59
+ }
60
+ case interface_1.JobType.DELETE_FILE:
61
+ {
62
+ const data = { path: this.job.string_args[0] };
63
+ this.os.file_delete(data);
64
+ resolve(`Delete file successfully, ${data.path}`);
65
+ break;
66
+ }
67
+ case interface_1.JobType.DELETE_DIR:
68
+ {
69
+ const data = { path: this.job.string_args[0] };
70
+ this.os.dir_delete(data);
71
+ resolve(`Delete folder successfully, ${data.path}`);
72
+ break;
73
+ }
74
+ case interface_1.JobType.CREATE_DIR:
75
+ {
76
+ const data = { path: this.job.string_args[0] };
77
+ this.os.dir_create(data);
78
+ resolve(`Create dir successfully, ${data.path}`);
79
+ break;
80
+ }
81
+ case interface_1.JobType.CREATE_FILE:
82
+ {
83
+ const data = { from: this.job.string_args[0], to: this.job.string_args[1] };
84
+ this.os.file_write(data);
85
+ resolve(`Create file successfully, ${data.from} ${data.to}`);
86
+ break;
87
+ }
88
+ case interface_1.JobType.RENAME:
89
+ {
90
+ const data = { from: this.job.string_args[0], to: this.job.string_args[1] };
91
+ this.os.rename(data);
92
+ resolve(`Rename successfully, ${data.from} ${data.to}`);
93
+ break;
94
+ }
95
+ case interface_1.JobType.JAVASCRIPT:
96
+ {
97
+ await this.javascript.JavascriptExecuteWithLib(this.job.script, this.job.string_args).then(() => {
98
+ resolve(`Execute Javascript successfully`);
99
+ }).catch(k => {
100
+ reject(k);
101
+ });
102
+ break;
103
+ }
104
+ case interface_1.JobType.COMMAND:
105
+ {
106
+ this.os.command(this.job.string_args[1], this.job.string_args[2], this.job.string_args[0]).then(m => {
107
+ resolve(m);
108
+ }).catch(err => {
109
+ reject(err);
110
+ });
111
+ break;
112
+ }
113
+ case interface_1.JobType.LIB_COMMAND:
114
+ {
115
+ const target = this.plugin.plugins.find(x => x.name == this.job.string_args[0]);
116
+ if (target == undefined) {
117
+ reject("Cannot find plugin " + this.job.string_args[0]);
118
+ return;
119
+ }
120
+ const archTarget = target.contents.find(x => x.arch == process.arch && x.platform == process.platform);
121
+ if (archTarget == undefined) {
122
+ reject({
123
+ code: 1,
124
+ message: "Cannot find plugin match arch " + this.job.string_args[0] + " " + process.arch
125
+ });
126
+ return;
127
+ }
128
+ this.os.lib_command(archTarget.filename, this.job.string_args[1]).then(m => {
129
+ resolve(m);
130
+ }).catch(err => {
131
+ reject(err);
132
+ });
133
+ break;
134
+ }
135
+ }
136
+ });
137
+ };
138
+ execute_job_con = () => {
139
+ return new Promise(async (resolve, reject) => {
140
+ switch (this.job.type) {
141
+ case interface_1.JobType2.CHECK_PATH:
142
+ {
143
+ const data = { path: this.job.string_args[0] };
144
+ if (this.os.fs_exist(data)) {
145
+ resolve(`Path exist ${data.path}`);
146
+ }
147
+ else {
148
+ reject({
149
+ code: 2,
150
+ message: `Path not exist ${data.path}`
151
+ });
152
+ }
153
+ break;
154
+ }
155
+ case interface_1.JobType2.JAVASCRIPT:
156
+ {
157
+ const r = await this.javascript.JavascriptExecuteWithLib(this.job.script, this.job.string_args);
158
+ if (r != undefined && r == 0) {
159
+ resolve(`Execute Javascript successfully`);
160
+ }
161
+ else {
162
+ reject({
163
+ code: 3,
164
+ message: `Execute Javascript failed`
165
+ });
166
+ }
167
+ break;
168
+ }
169
+ }
170
+ });
171
+ };
172
+ }
173
+ exports.ClientJobExecute = ClientJobExecute;
@@ -0,0 +1,29 @@
1
+ import { Messager, Messager_log, OnePath, TwoPath } from "../interface";
2
+ type getstring = () => string;
3
+ export declare class ClientOS {
4
+ private messager;
5
+ private messager_log;
6
+ private tag;
7
+ private runtime;
8
+ private children;
9
+ constructor(_tag: getstring, _runtime: getstring, _messager: Messager, _messager_log: Messager_log);
10
+ file_copy: (data: TwoPath) => void;
11
+ dir_copy: (data: TwoPath) => void;
12
+ file_delete: (data: OnePath) => void;
13
+ dir_delete: (data: OnePath) => void;
14
+ rename: (data: TwoPath) => void;
15
+ fs_exist: (data: OnePath) => boolean;
16
+ fs_dir_exist: (data: OnePath) => boolean;
17
+ fs_file_exist: (data: OnePath) => boolean;
18
+ dir_files: (data: OnePath) => Array<string>;
19
+ dir_dirs: (data: OnePath) => Array<string>;
20
+ dir_create: (data: OnePath) => void;
21
+ file_write: (data: TwoPath) => void;
22
+ file_read: (data: OnePath) => string;
23
+ stopall: () => void;
24
+ lib_command: (command: string, args: string) => Promise<string>;
25
+ command: (command: string, args: string, cwd?: string) => Promise<string>;
26
+ command_sync: (command: string, args: string, cwd?: string) => Promise<string>;
27
+ command_exec: (command: string, args: string, cwd?: string) => void;
28
+ }
29
+ export {};