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
@@ -0,0 +1,13 @@
1
+ import WebSocket from "ws";
2
+ import { Setter } from "../interface";
3
+ export declare class ClientDatabase {
4
+ private source;
5
+ constructor(_source: WebSocket | undefined);
6
+ feedbacknumber: (data: Setter) => void;
7
+ feedbackboolean: (data: Setter) => void;
8
+ feedbackstring: (data: Setter) => void;
9
+ feedbackobject: (data: Setter) => void;
10
+ feedbacklist: (data: Setter) => void;
11
+ feedbackselect: (data: Setter) => void;
12
+ private feedback;
13
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClientDatabase = void 0;
4
+ class ClientDatabase {
5
+ source;
6
+ constructor(_source) {
7
+ this.source = _source;
8
+ }
9
+ feedbacknumber = (data) => {
10
+ this.feedback("feedback_number", data);
11
+ };
12
+ feedbackboolean = (data) => {
13
+ this.feedback("feedback_boolean", data);
14
+ };
15
+ feedbackstring = (data) => {
16
+ this.feedback("feedback_string", data);
17
+ };
18
+ feedbackobject = (data) => {
19
+ this.feedback("feedback_object", data);
20
+ };
21
+ feedbacklist = (data) => {
22
+ this.feedback("feedback_list", data);
23
+ };
24
+ feedbackselect = (data) => {
25
+ this.feedback("feedback_select", data);
26
+ };
27
+ feedback = (title, data) => {
28
+ if (this.source == undefined)
29
+ return;
30
+ const p = {
31
+ name: title,
32
+ data: data
33
+ };
34
+ this.source.send(JSON.stringify(p, null, 2));
35
+ };
36
+ }
37
+ exports.ClientDatabase = ClientDatabase;
@@ -0,0 +1,24 @@
1
+ import { WebSocket } from 'ws';
2
+ import { Job, Libraries, Messager, Messager_log, Database, Setter } from "../interface";
3
+ import { Client } from "./client";
4
+ export declare class ClientExecute {
5
+ uuid: string;
6
+ private database;
7
+ private libraries;
8
+ private tag;
9
+ private workers;
10
+ private client;
11
+ private messager;
12
+ private messager_log;
13
+ get count(): number;
14
+ constructor(_uuid: string, _messager: Messager, _messager_log: Messager_log, _client: Client);
15
+ stop_job: () => void;
16
+ execute_job: (job: Job, source: WebSocket) => void;
17
+ private execute_job_worker;
18
+ private job_finish;
19
+ set_database: (data: Database) => void;
20
+ set_libs: (data: Libraries) => void;
21
+ set_string: (data: Setter) => void;
22
+ set_number: (data: Setter) => void;
23
+ set_boolean: (data: Setter) => void;
24
+ }
@@ -8,76 +8,56 @@ const i18n_1 = require("../plugins/i18n");
8
8
  const client_1 = require("./client");
9
9
  const database_1 = require("./database");
10
10
  class ClientExecute {
11
+ uuid;
12
+ database = undefined;
13
+ libraries = undefined;
14
+ tag = '';
15
+ workers = [];
16
+ client;
17
+ messager;
18
+ messager_log;
11
19
  get count() {
12
20
  return this.workers.length;
13
21
  }
14
22
  constructor(_uuid, _messager, _messager_log, _client) {
15
- this.database = undefined;
16
- this.libraries = undefined;
17
- this.tag = '';
18
- this.workers = [];
19
- this.stop_job = () => {
20
- this.messager_log(`[Execute] Stop All: ${this.workers.length}`);
21
- this.workers.forEach(x => {
22
- x.stdin.cork();
23
- x.stdin.write("kill\n");
24
- x.stdin.uncork();
25
- x.stdin.end();
26
- });
27
- };
28
- this.execute_job = (job, source) => {
29
- this.messager_log(`[Execute] ${job.uuid} ${job.category == interface_1.JobCategory.Execution ? i18n_1.i18n.global.t(interface_1.JobTypeText[job.type]) : i18n_1.i18n.global.t(interface_1.JobType2Text[job.type])}`, job.uuid, job.runtime_uuid);
30
- this.tag = job.uuid;
31
- this.execute_job_worker(job, source);
32
- };
33
- this.set_database = (data) => {
34
- this.database = data;
35
- };
36
- this.set_libs = (data) => {
37
- this.libraries = data;
38
- };
39
- this.set_string = (data) => {
40
- if (this.database == undefined)
41
- return;
42
- const index = this.database.containers.findIndex(x => x.name == data.key && x.type == interface_1.DataType.String);
43
- if (index != -1)
44
- this.database.containers[index].value = data.value;
45
- this.messager_log(`[Database string sync] ${data.key} = ${data.value}`);
46
- };
47
- this.set_number = (data) => {
48
- if (this.database == undefined)
49
- return;
50
- const index = this.database.containers.findIndex(x => x.name == data.key && x.type == interface_1.DataType.Number);
51
- if (index != -1)
52
- this.database.containers[index].value = data.value;
53
- this.messager_log(`[Database number sync] ${data.key} = ${data.value}`);
54
- };
55
- this.set_boolean = (data) => {
56
- if (this.database == undefined)
57
- return;
58
- const index = this.database.containers.findIndex(x => x.name == data.key && x.type == interface_1.DataType.Boolean);
59
- if (index != -1)
60
- this.database.containers[index].value = data.value;
61
- this.messager_log(`[Database boolean sync] ${data.key} = ${data.value}`);
62
- };
63
23
  this.uuid = _uuid;
64
24
  this.client = _client;
65
25
  this.messager = _messager;
66
26
  this.messager_log = _messager_log;
67
27
  }
28
+ stop_job = () => {
29
+ this.messager_log(`[Execute] Stop All: ${this.workers.length}`);
30
+ this.workers.forEach(x => {
31
+ x.stdin.cork();
32
+ x.stdin.write("kill\n");
33
+ x.stdin.uncork();
34
+ x.stdin.end();
35
+ });
36
+ };
37
+ execute_job = (job, source) => {
38
+ this.messager_log(`[Execute] ${job.uuid} ${job.category == interface_1.JobCategory.Execution ? i18n_1.i18n.global.t(interface_1.JobTypeText[job.type]) : i18n_1.i18n.global.t(interface_1.JobType2Text[job.type])}`, job.uuid, job.runtime_uuid);
39
+ this.tag = job.uuid;
40
+ this.execute_job_worker(job, source);
41
+ };
68
42
  execute_job_worker(job, source) {
69
43
  const child = (0, child_process_1.spawn)(client_1.Client.workerPath(), [], {
70
44
  stdio: ['pipe', 'pipe', 'pipe'],
71
45
  windowsHide: true,
72
46
  shell: true,
73
- env: Object.assign(Object.assign({}, process.env), { type: "JOB", job: JSON.stringify(job), plugin: JSON.stringify(this.client.plugins), database: JSON.stringify(this.database), libraries: JSON.stringify(this.libraries) })
47
+ env: {
48
+ ...process.env,
49
+ type: "JOB",
50
+ job: JSON.stringify(job),
51
+ plugin: JSON.stringify(this.client.plugins),
52
+ database: JSON.stringify(this.database),
53
+ libraries: JSON.stringify(this.libraries),
54
+ }
74
55
  });
75
56
  child.stdin.setDefaultEncoding('utf-8');
76
57
  this.workers.push(child);
77
58
  const para = new database_1.ClientDatabase(source);
78
59
  let k = "";
79
60
  const workerFeedbackExec = (str) => {
80
- var _a;
81
61
  try {
82
62
  const msg = JSON.parse(str);
83
63
  if (msg.name == 'messager') {
@@ -113,7 +93,7 @@ class ClientExecute {
113
93
  }
114
94
  catch (err) {
115
95
  this.messager_log(`Error: ${str}`, job.uuid, job.runtime_uuid);
116
- this.messager_log(`(${(_a = err.code) !== null && _a !== void 0 ? _a : 'unknown'}) ${err.message}`, job.uuid, job.runtime_uuid);
96
+ this.messager_log(`(${err.code ?? 'unknown'}) ${err.message}`, job.uuid, job.runtime_uuid);
117
97
  }
118
98
  };
119
99
  const workerFeedback = (str) => {
@@ -158,5 +138,35 @@ class ClientExecute {
158
138
  }
159
139
  this.tag = '';
160
140
  }
141
+ set_database = (data) => {
142
+ this.database = data;
143
+ };
144
+ set_libs = (data) => {
145
+ this.libraries = data;
146
+ };
147
+ set_string = (data) => {
148
+ if (this.database == undefined)
149
+ return;
150
+ const index = this.database.containers.findIndex(x => x.name == data.key && x.type == interface_1.DataType.String);
151
+ if (index != -1)
152
+ this.database.containers[index].value = data.value;
153
+ this.messager_log(`[Database string sync] ${data.key} = ${data.value}`);
154
+ };
155
+ set_number = (data) => {
156
+ if (this.database == undefined)
157
+ return;
158
+ const index = this.database.containers.findIndex(x => x.name == data.key && x.type == interface_1.DataType.Number);
159
+ if (index != -1)
160
+ this.database.containers[index].value = data.value;
161
+ this.messager_log(`[Database number sync] ${data.key} = ${data.value}`);
162
+ };
163
+ set_boolean = (data) => {
164
+ if (this.database == undefined)
165
+ return;
166
+ const index = this.database.containers.findIndex(x => x.name == data.key && x.type == interface_1.DataType.Boolean);
167
+ if (index != -1)
168
+ this.database.containers[index].value = data.value;
169
+ this.messager_log(`[Database boolean sync] ${data.key} = ${data.value}`);
170
+ };
161
171
  }
162
172
  exports.ClientExecute = ClientExecute;
@@ -0,0 +1,7 @@
1
+ export declare class ClientHTTP {
2
+ url: string;
3
+ method: string;
4
+ params: any;
5
+ constructor(_url: string, _method: string, _params: any);
6
+ RUN: () => void;
7
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClientHTTP = void 0;
4
+ class ClientHTTP {
5
+ url;
6
+ method;
7
+ params;
8
+ constructor(_url, _method, _params) {
9
+ this.url = _url;
10
+ this.method = _method;
11
+ this.params = _params;
12
+ }
13
+ RUN = () => {
14
+ fetch(this.url, {
15
+ method: this.method,
16
+ body: this.params
17
+ }).then(x => {
18
+ x.text().then(y => {
19
+ const h = {
20
+ name: "result",
21
+ data: {
22
+ status: x.status,
23
+ statusText: x.statusText,
24
+ headers: x.headers,
25
+ ok: x.ok,
26
+ data: y
27
+ }
28
+ };
29
+ console.log(JSON.stringify(h));
30
+ });
31
+ }).catch((reason) => {
32
+ const h = {
33
+ name: "error",
34
+ data: reason
35
+ };
36
+ console.log(JSON.stringify(h));
37
+ });
38
+ };
39
+ }
40
+ exports.ClientHTTP = ClientHTTP;
@@ -0,0 +1,47 @@
1
+ import * as vm from 'vm';
2
+ import { Job, Libraries, Messager, Messager_log, Database } from '../interface';
3
+ import { ClientJobDatabase } from './job_database';
4
+ import { ClientOS } from './os';
5
+ export declare const safeEval: (code: string, context?: any, opts?: vm.RunningCodeInNewContextOptions | string) => any;
6
+ type Getlib = () => Libraries | undefined;
7
+ type Getpara = () => Database | undefined;
8
+ type Getjob = () => Job | undefined;
9
+ export declare class ClientJavascript {
10
+ path: any;
11
+ os: any;
12
+ env: any;
13
+ message: any;
14
+ http: any;
15
+ constructor(_messager: Messager, _messager_log: Messager_log, _getjob: Getjob);
16
+ static Init: (_messager: Messager, _messager_log: Messager, _clientos: ClientOS, _para: ClientJobDatabase, _getlib: Getlib, _getpara: Getpara, _getjob: Getjob) => void;
17
+ JavascriptExecuteWithLib: (javascript: string, libs: Array<string>, log?: Messager) => Promise<any>;
18
+ JavascriptExecute: (javascript: string, log?: Messager) => Promise<any>;
19
+ private getJavascriptEnv;
20
+ private filename;
21
+ private extname;
22
+ private dirname;
23
+ private exec;
24
+ private command;
25
+ private plugin_exec;
26
+ private plugin_command;
27
+ private copyfile;
28
+ private copydir;
29
+ private deletefile;
30
+ private deletedir;
31
+ private rename;
32
+ private exist;
33
+ private listfile;
34
+ private listdir;
35
+ private createdir;
36
+ private writefile;
37
+ private readfile;
38
+ private wait;
39
+ private sleep;
40
+ private httpGet;
41
+ private httpPost;
42
+ private httpDelete;
43
+ private httpPatch;
44
+ private httpPut;
45
+ private httpGo;
46
+ }
47
+ export {};