@coherentglobal/wasm-runner 0.0.27 → 0.0.37
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.
- package/dist/browser.d.ts +2 -1
- package/dist/browser.js +38 -19
- package/dist/browser.js.map +1 -1
- package/dist/defaultExternalResolver.d.ts +0 -0
- package/dist/defaultExternalResolver.js +20 -0
- package/dist/defaultExternalResolver.js.map +1 -0
- package/dist/node/template/main.template.ejs +133 -59
- package/dist/node.d.ts +7 -2
- package/dist/node.js +97 -87
- package/dist/node.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/package.json +1 -1
package/dist/browser.d.ts
CHANGED
|
@@ -45,8 +45,9 @@ export declare class WasmRunner {
|
|
|
45
45
|
/**
|
|
46
46
|
* Remove model from runner
|
|
47
47
|
* @param {string} id Model id
|
|
48
|
+
* @returns Promise
|
|
48
49
|
*/
|
|
49
|
-
remove(id: string): void
|
|
50
|
+
remove(id: string): Promise<void>;
|
|
50
51
|
/**
|
|
51
52
|
* Append and initialized new model to runner
|
|
52
53
|
* @param {RunnerConfig} modelConfig
|
package/dist/browser.js
CHANGED
|
@@ -51,6 +51,8 @@ const unzipFile = (zipURL) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
51
51
|
let jsPath;
|
|
52
52
|
let wasm;
|
|
53
53
|
let wasmPath;
|
|
54
|
+
let dataPath;
|
|
55
|
+
let data;
|
|
54
56
|
const zip = yield res.blob();
|
|
55
57
|
const new_zip = new jszip_1.default();
|
|
56
58
|
new_zip.loadAsync(zip).then((zipped) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -62,6 +64,9 @@ const unzipFile = (zipURL) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
62
64
|
if (path_1.default.extname(entry) === ".wasm") {
|
|
63
65
|
wasmPath = entry;
|
|
64
66
|
}
|
|
67
|
+
if (path_1.default.extname(entry) === ".data") {
|
|
68
|
+
dataPath = entry;
|
|
69
|
+
}
|
|
65
70
|
}
|
|
66
71
|
});
|
|
67
72
|
if (!jsPath)
|
|
@@ -70,7 +75,7 @@ const unzipFile = (zipURL) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
70
75
|
return reject(new Error("Missing engine file"));
|
|
71
76
|
js = yield zipped.file(jsPath).async("text");
|
|
72
77
|
wasm = yield zipped.file(wasmPath).async("arraybuffer");
|
|
73
|
-
|
|
78
|
+
const response = {
|
|
74
79
|
wasm: {
|
|
75
80
|
url: URL.createObjectURL(new Blob([wasm], { type: "application/wasm" })),
|
|
76
81
|
path: wasmPath,
|
|
@@ -79,12 +84,29 @@ const unzipFile = (zipURL) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
79
84
|
url: URL.createObjectURL(new Blob([js], { type: "text/javascript" })),
|
|
80
85
|
path: jsPath,
|
|
81
86
|
},
|
|
82
|
-
}
|
|
87
|
+
};
|
|
88
|
+
if (dataPath) {
|
|
89
|
+
data = yield zipped.file(dataPath).async("arraybuffer");
|
|
90
|
+
response.data = {
|
|
91
|
+
url: URL.createObjectURL(new Blob([data], { type: "application/octet-stream" })),
|
|
92
|
+
path: dataPath,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
resolve(response);
|
|
83
96
|
}));
|
|
84
97
|
}));
|
|
85
98
|
});
|
|
86
99
|
});
|
|
87
|
-
const getRuntimeContent = (js, wasm) => __awaiter(void 0, void 0, void 0, function* () {
|
|
100
|
+
const getRuntimeContent = (js, wasm, data = undefined) => __awaiter(void 0, void 0, void 0, function* () {
|
|
101
|
+
if (data) {
|
|
102
|
+
const runtime = yield fetch(js.url)
|
|
103
|
+
.then((res) => __awaiter(void 0, void 0, void 0, function* () { return res.text(); }))
|
|
104
|
+
.then((text) => text
|
|
105
|
+
.replace(wasm.path, wasm.url)
|
|
106
|
+
.replace(data.path, data.url)
|
|
107
|
+
.replace(data.path, data.url));
|
|
108
|
+
return runtime;
|
|
109
|
+
}
|
|
88
110
|
const runtime = yield fetch(js.url)
|
|
89
111
|
.then((res) => __awaiter(void 0, void 0, void 0, function* () { return res.text(); }))
|
|
90
112
|
.then((text) => text.replace(wasm.path, wasm.url));
|
|
@@ -140,8 +162,8 @@ class WasmRunner {
|
|
|
140
162
|
}
|
|
141
163
|
_initializeModelInstance(m, license) {
|
|
142
164
|
return __awaiter(this, void 0, void 0, function* () {
|
|
143
|
-
const { js, wasm } = yield unzipFile(m.url);
|
|
144
|
-
const runtime = yield getRuntimeContent(js, wasm);
|
|
165
|
+
const { js, wasm, data } = yield unzipFile(m.url);
|
|
166
|
+
const runtime = yield getRuntimeContent(js, wasm, data);
|
|
145
167
|
m.worker = new Worker(utils.jsString2workerURL((0, template_1.default)(runtime, license)));
|
|
146
168
|
m.worker.onmessage = function (oEvent) {
|
|
147
169
|
if (!Array.isArray(oEvent.data) && oEvent.data === "Initialized") {
|
|
@@ -238,11 +260,14 @@ class WasmRunner {
|
|
|
238
260
|
/**
|
|
239
261
|
* Remove model from runner
|
|
240
262
|
* @param {string} id Model id
|
|
263
|
+
* @returns Promise
|
|
241
264
|
*/
|
|
242
265
|
remove(id) {
|
|
243
|
-
|
|
244
|
-
this.
|
|
245
|
-
|
|
266
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
267
|
+
if (this.isExist(id)) {
|
|
268
|
+
this.models = this.models.filter((m) => m.id !== id);
|
|
269
|
+
}
|
|
270
|
+
});
|
|
246
271
|
}
|
|
247
272
|
/**
|
|
248
273
|
* Append and initialized new model to runner
|
|
@@ -269,10 +294,10 @@ class WasmRunner {
|
|
|
269
294
|
* @returns {Promise<Object>} - Response model data
|
|
270
295
|
*/
|
|
271
296
|
execute(input, id = undefined) {
|
|
272
|
-
var _a;
|
|
297
|
+
var _a, _b;
|
|
273
298
|
return __awaiter(this, void 0, void 0, function* () {
|
|
274
299
|
console.log(`EXECUTING: ${id}, input: ${JSON.stringify(input)}`);
|
|
275
|
-
const version_uuid = id || ((_a = input.request_meta) === null || _a === void 0 ? void 0 : _a.version_uuid);
|
|
300
|
+
const version_uuid = id || ((_a = input.request_meta) === null || _a === void 0 ? void 0 : _a.version_id) || ((_b = input.request_meta) === null || _b === void 0 ? void 0 : _b.version_uuid);
|
|
276
301
|
if (version_uuid) {
|
|
277
302
|
const model = this._getModel(version_uuid);
|
|
278
303
|
const callid = (0, cuid_1.default)();
|
|
@@ -280,17 +305,11 @@ class WasmRunner {
|
|
|
280
305
|
return new Promise((resolve, reject) => {
|
|
281
306
|
const getResult = () => {
|
|
282
307
|
setTimeout(() => {
|
|
283
|
-
var _a, _b
|
|
308
|
+
var _a, _b;
|
|
284
309
|
if ((_a = model.results) === null || _a === void 0 ? void 0 : _a[callid]) {
|
|
285
310
|
const result = JSON.parse((_b = model.results) === null || _b === void 0 ? void 0 : _b[callid]);
|
|
286
311
|
model.results[callid] = undefined;
|
|
287
|
-
|
|
288
|
-
const errors = this._parseError(result);
|
|
289
|
-
reject(new error_1.default.ModelValidationError(errors, version_uuid, result));
|
|
290
|
-
}
|
|
291
|
-
else {
|
|
292
|
-
resolve(result);
|
|
293
|
-
}
|
|
312
|
+
resolve(result);
|
|
294
313
|
}
|
|
295
314
|
else {
|
|
296
315
|
getResult();
|
|
@@ -300,7 +319,7 @@ class WasmRunner {
|
|
|
300
319
|
getResult();
|
|
301
320
|
});
|
|
302
321
|
}
|
|
303
|
-
throw new error_1.default.ParameterRequiredError("request_meta.
|
|
322
|
+
throw new error_1.default.ParameterRequiredError("request_meta.version_id", input);
|
|
304
323
|
});
|
|
305
324
|
}
|
|
306
325
|
}
|
package/dist/browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAA6B;AAC7B,8BAA8B;AAC9B,yCAAyC;AACzC,sCAAsC;AACtC,yCAAyC;AACzC,iDAAiD;AACjD,gDAAwB;AACxB,kDAA0B;AAC1B,gDAAwB;AACxB,+CAAiC;AACjC,kEAA+C;AAC/C,oDAAuC;
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
module.exports = {
|
|
11
|
+
sparkService: (requestData) => __awaiter(this, void 0, void 0, function* () {
|
|
12
|
+
console.log('ERROR: resolver.sparkService need implemented');
|
|
13
|
+
return "{}";
|
|
14
|
+
}),
|
|
15
|
+
externalApi: (requestData) => __awaiter(this, void 0, void 0, function* () {
|
|
16
|
+
console.log('ERROR: resolver.externalApi need implemented');
|
|
17
|
+
return "{}";
|
|
18
|
+
})
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=defaultExternalResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultExternalResolver.js","sourceRoot":"","sources":["../src/defaultExternalResolver.ts"],"names":[],"mappings":";;;;;;;;;AAAA,MAAM,CAAC,OAAO,GAAG;IACf,YAAY,EAAE,CAAO,WAAW,EAAE,EAAE;QAClC,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IACD,WAAW,EAAE,CAAO,WAAW,EAAE,EAAE;QACjC,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;CACF,CAAA"}
|
|
@@ -1,70 +1,144 @@
|
|
|
1
|
+
/* eslint-disable vars-on-top */
|
|
2
|
+
/* eslint-disable no-var */
|
|
3
|
+
/* eslint-disable no-useless-catch */
|
|
4
|
+
/* eslint-disable no-param-reassign */
|
|
5
|
+
/* eslint-disable no-underscore-dangle */
|
|
1
6
|
const { parentPort, workerData } = require('worker_threads');
|
|
2
|
-
|
|
7
|
+
const model = require('<%= runtime %>');
|
|
8
|
+
const externalResolver = require('<%= modules.externalResolver %>');
|
|
9
|
+
|
|
3
10
|
|
|
4
11
|
let wasm;
|
|
5
12
|
let wb;
|
|
6
|
-
|
|
13
|
+
const modelName = '<%= modelName %>';
|
|
7
14
|
let isReady = false;
|
|
8
15
|
|
|
9
|
-
let execute =
|
|
16
|
+
let execute = () => { return false };
|
|
17
|
+
|
|
18
|
+
const DISPATCH_TYPE = {
|
|
19
|
+
SPARK_SERVICE: 0,
|
|
20
|
+
EXTERNAL_API: 1,
|
|
21
|
+
};
|
|
10
22
|
|
|
11
23
|
try {
|
|
12
|
-
model()
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
24
|
+
model()
|
|
25
|
+
.then((instance) => {
|
|
26
|
+
try {
|
|
27
|
+
var dnc = new TextDecoder("utf-8");
|
|
28
|
+
var enc = new TextEncoder();
|
|
29
|
+
|
|
30
|
+
instance.dispatch = async (service, argPtr, argsOffSet) => {
|
|
31
|
+
const resultData = new Uint8Array(instance.HEAPU8.subarray(argPtr, argPtr + argsOffSet));
|
|
32
|
+
const result = dnc.decode(resultData).slice();
|
|
33
|
+
|
|
34
|
+
const requestData = JSON.parse(result);
|
|
35
|
+
|
|
36
|
+
switch (service) {
|
|
37
|
+
case DISPATCH_TYPE.SPARK_SERVICE: {
|
|
38
|
+
return await externalResolver.sparkService(requestData)
|
|
39
|
+
}
|
|
40
|
+
case DISPATCH_TYPE.EXTERNAL_API: {
|
|
41
|
+
return await externalResolver.externalApi(requestData)
|
|
42
|
+
}
|
|
43
|
+
default: {
|
|
44
|
+
console.log(`Not implemented for service ${service} data ${result}`)
|
|
45
|
+
}
|
|
18
46
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
let currentParameterSetKey;
|
|
50
|
+
execute = function (req) {
|
|
51
|
+
try {
|
|
52
|
+
if (req === "isReady") {
|
|
53
|
+
return isReady;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
if (req === "destroy") {
|
|
57
|
+
instance._destroy(wb);
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
if (req.request_data._parameters_key) {
|
|
62
|
+
// Have parameters
|
|
63
|
+
if (currentParameterSetKey !== req.request_data._parameters_key) {
|
|
64
|
+
currentParameterSetKey = req.request_data._parameters_key;
|
|
65
|
+
req.request_data._parameters_key = undefined;
|
|
66
|
+
} else {
|
|
67
|
+
// Remove if parameter is the same
|
|
68
|
+
req.request_data._parameters_key = undefined;
|
|
69
|
+
req.request_data._parameters = undefined;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
const input = JSON.stringify(req);
|
|
74
|
+
const encoded = enc.encode(input);
|
|
75
|
+
var inBuffer = instance._malloc(encoded.length);
|
|
76
|
+
const bytesPerElement = encoded.BYTES_PER_ELEMENT;
|
|
77
|
+
instance.HEAP8.set(encoded, inBuffer / bytesPerElement);
|
|
78
|
+
const outBuffer = instance._malloc(8);
|
|
79
|
+
|
|
80
|
+
let isAsync = typeof instance._is_async === 'function' && instance._is_async(wb);
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
return isAsync === 1 || isAsync === true || isAsync === 'true'
|
|
84
|
+
? instance.ccall(
|
|
85
|
+
"node_calc_v3",
|
|
86
|
+
"number",
|
|
87
|
+
["number", "number", "number", "number"],
|
|
88
|
+
[wb, inBuffer, encoded.length, outBuffer],
|
|
89
|
+
{ async: true }
|
|
90
|
+
)
|
|
91
|
+
: new Promise((resolve, reject) => {
|
|
92
|
+
try {
|
|
93
|
+
const outPtr = instance._node_calc_v3(wb, inBuffer, encoded.length, outBuffer)
|
|
94
|
+
resolve(outPtr);
|
|
95
|
+
} catch (err) {
|
|
96
|
+
reject(err);
|
|
97
|
+
}
|
|
98
|
+
})
|
|
99
|
+
.then((outPtr) => {
|
|
100
|
+
var offset = instance.getValue(outBuffer, "i64");
|
|
101
|
+
const resultData = new Uint8Array(instance.HEAPU8.subarray(outPtr, outPtr + offset));
|
|
102
|
+
const result = dnc.decode(resultData).slice();
|
|
103
|
+
instance._free(inBuffer);
|
|
104
|
+
instance._free(outBuffer);
|
|
105
|
+
instance._free(outPtr);
|
|
106
|
+
return JSON.parse(result);
|
|
107
|
+
});
|
|
108
|
+
} catch (err) {
|
|
109
|
+
return Promise.reject(err);
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
wb = instance._construct();
|
|
114
|
+
console.log(`Worker ${modelName} initiated`);
|
|
115
|
+
isReady = true;
|
|
116
|
+
return Promise.resolve();
|
|
117
|
+
} catch (err) {
|
|
118
|
+
instance = undefined
|
|
119
|
+
console.log(`Worker ${modelName} failed to initiate`);
|
|
120
|
+
return Promise.reject(err);
|
|
48
121
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
122
|
+
})
|
|
123
|
+
.catch((err) => console.error(err));
|
|
124
|
+
} catch (err) {
|
|
125
|
+
console.log('error', err)
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
parentPort.on("message", (input) => {
|
|
129
|
+
if (
|
|
130
|
+
typeof input !== "string" &&
|
|
131
|
+
typeof input !== "object" &&
|
|
132
|
+
input !== "isReady"
|
|
133
|
+
) {
|
|
134
|
+
throw new Error("Param must be a json string or json object");
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
const promise = execute(input);
|
|
138
|
+
|
|
139
|
+
if (promise instanceof Promise) {
|
|
140
|
+
return promise.then((result) => parentPort.postMessage(result));
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
return parentPort.postMessage(promise);
|
|
70
144
|
});
|
package/dist/node.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import tmp from "tmp";
|
|
2
|
+
import { StaticPool } from "node-worker-threads-pool";
|
|
2
3
|
import { NodeModel, RunnerConfig, ModelConfig, InputObject, ResponseObject } from "./types";
|
|
3
4
|
/**
|
|
4
5
|
* WASM runner config
|
|
@@ -23,12 +24,13 @@ export declare class WasmRunner {
|
|
|
23
24
|
_tempModelFolder: tmp.DirResult;
|
|
24
25
|
license: string;
|
|
25
26
|
models: any[];
|
|
27
|
+
externalResolverModule: string;
|
|
26
28
|
/**
|
|
27
29
|
* Create new Wasm Runner instance
|
|
28
30
|
*
|
|
29
31
|
* @param {RunnerConfig} wasmRunnerConfig
|
|
30
32
|
*/
|
|
31
|
-
constructor(wasmRunnerConfig?: RunnerConfig, license?: string);
|
|
33
|
+
constructor(wasmRunnerConfig?: RunnerConfig, externalResolverModule?: string, license?: string);
|
|
32
34
|
/**
|
|
33
35
|
* Initialize wasm runner fetching model from remote server
|
|
34
36
|
*
|
|
@@ -36,7 +38,9 @@ export declare class WasmRunner {
|
|
|
36
38
|
* @function initialize
|
|
37
39
|
*/
|
|
38
40
|
initialize(license?: string): Promise<void>;
|
|
41
|
+
_createModelInstance(id: any, url: any, workerFolder: any, size: any): Promise<StaticPool<any, any>>;
|
|
39
42
|
_initializeModelInstance(m: NodeModel): Promise<void>;
|
|
43
|
+
_createModelInstanceFromURL(id: string, url: string, workerFolder: string, modelFolder: string, size: number): Promise<StaticPool<any, any>>;
|
|
40
44
|
/**
|
|
41
45
|
* Append and initialized new model to runner
|
|
42
46
|
* @param {ModelConfig} modelConfig
|
|
@@ -46,8 +50,9 @@ export declare class WasmRunner {
|
|
|
46
50
|
/**
|
|
47
51
|
* Remove model from runner
|
|
48
52
|
* @param {string} id Model id
|
|
53
|
+
* @returns Promise
|
|
49
54
|
*/
|
|
50
|
-
remove(id: string): void
|
|
55
|
+
remove(id: string): Promise<void>;
|
|
51
56
|
_parseError(rawResponse: any): Object;
|
|
52
57
|
_getModel(id: string): NodeModel;
|
|
53
58
|
/**
|
package/dist/node.js
CHANGED
|
@@ -62,24 +62,23 @@ function replaceRegexInFile(file, search, replace) {
|
|
|
62
62
|
const unzipFiles = (id, url, workerFolder) => {
|
|
63
63
|
let js;
|
|
64
64
|
let wasm;
|
|
65
|
+
let data;
|
|
65
66
|
// @ts-ignore
|
|
66
67
|
const stream = fs_1.default.createReadStream(url).pipe((0, unzipper_1.Parse)());
|
|
67
68
|
return new Promise((resolve, reject) => {
|
|
68
69
|
stream.on("entry", (entry) => {
|
|
69
70
|
const type = entry.type;
|
|
70
71
|
if (type === "File" && entry.path.indexOf("__MACOSX") === -1) {
|
|
71
|
-
const fileName =
|
|
72
|
-
|
|
73
|
-
name: entry.path,
|
|
74
|
-
// @ts-ignore
|
|
75
|
-
mode: 0o750,
|
|
76
|
-
});
|
|
77
|
-
const writeStream = fs_1.default.createWriteStream(fileName.name);
|
|
72
|
+
const fileName = path_1.default.join(workerFolder, entry.path);
|
|
73
|
+
const writeStream = fs_1.default.createWriteStream(fileName);
|
|
78
74
|
if (path_1.default.extname(entry.path) === ".js") {
|
|
79
|
-
js = fileName
|
|
75
|
+
js = fileName;
|
|
80
76
|
}
|
|
81
77
|
if (path_1.default.extname(entry.path) === ".wasm") {
|
|
82
|
-
wasm = fileName
|
|
78
|
+
wasm = fileName;
|
|
79
|
+
}
|
|
80
|
+
if (path_1.default.extname(entry.path) === ".data") {
|
|
81
|
+
data = fileName;
|
|
83
82
|
}
|
|
84
83
|
return entry.pipe(writeStream);
|
|
85
84
|
}
|
|
@@ -94,6 +93,7 @@ const unzipFiles = (id, url, workerFolder) => {
|
|
|
94
93
|
return resolve({
|
|
95
94
|
js,
|
|
96
95
|
wasm,
|
|
96
|
+
data,
|
|
97
97
|
});
|
|
98
98
|
});
|
|
99
99
|
stream.on("error", (error) => reject(error));
|
|
@@ -103,67 +103,6 @@ const template = ejs_1.default.compile(fs_1.default.readFileSync(path_1.default.
|
|
|
103
103
|
encoding: "utf8",
|
|
104
104
|
flag: "r",
|
|
105
105
|
}), { async: false });
|
|
106
|
-
const createModelInstance = (id, url, workerFolder, size) => __awaiter(void 0, void 0, void 0, function* () {
|
|
107
|
-
const tempFolder = tmp_1.default.dirSync({
|
|
108
|
-
dir: workerFolder,
|
|
109
|
-
name: `${id}-${Date.now()}`,
|
|
110
|
-
// @ts-ignore
|
|
111
|
-
mode: 0o750,
|
|
112
|
-
});
|
|
113
|
-
const modelPack = yield unzipFiles(id, url, tempFolder.name);
|
|
114
|
-
const modelName = id;
|
|
115
|
-
yield replaceRegexInFile(modelPack.js, `wasmBinaryFile="${path_1.default.basename(modelPack.wasm)}"`,
|
|
116
|
-
// `scriptDirectory="";wasmBinaryFile="data:application/octet-stream;base64,${content}"`
|
|
117
|
-
`scriptDirectory="";wasmBinaryFile="${modelPack.wasm}"`);
|
|
118
|
-
const fileContent = template({
|
|
119
|
-
runtime: modelPack.js.replace(".js", ""),
|
|
120
|
-
model: modelPack.wasm,
|
|
121
|
-
modelName,
|
|
122
|
-
});
|
|
123
|
-
const workerPath = tmp_1.default.fileSync({
|
|
124
|
-
dir: tempFolder.name,
|
|
125
|
-
name: `worker-${id}.js`,
|
|
126
|
-
// @ts-ignore
|
|
127
|
-
mode: 0o750,
|
|
128
|
-
}).name;
|
|
129
|
-
yield fs_1.default.promises.writeFile(workerPath, fileContent);
|
|
130
|
-
const instancePool = new node_worker_threads_pool_1.StaticPool({
|
|
131
|
-
size: size || 1,
|
|
132
|
-
task: workerPath,
|
|
133
|
-
});
|
|
134
|
-
return new Promise((resolve, reject) => {
|
|
135
|
-
let limit = 0;
|
|
136
|
-
const checkModelStatus = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
137
|
-
const isReady = yield instancePool.exec("isReady");
|
|
138
|
-
if (isReady) {
|
|
139
|
-
resolve(instancePool);
|
|
140
|
-
}
|
|
141
|
-
else if (limit >= 2000) { // 1 second
|
|
142
|
-
reject(new Error("Model initialize issue"));
|
|
143
|
-
}
|
|
144
|
-
else {
|
|
145
|
-
setTimeout(checkModelStatus, 5);
|
|
146
|
-
// eslint-disable-next-line no-plusplus
|
|
147
|
-
limit++;
|
|
148
|
-
}
|
|
149
|
-
});
|
|
150
|
-
setTimeout(checkModelStatus, 5);
|
|
151
|
-
});
|
|
152
|
-
// return {};
|
|
153
|
-
});
|
|
154
|
-
const createModelInstanceFromURL = (id, url, workerFolder, modelFolder, size) => __awaiter(void 0, void 0, void 0, function* () {
|
|
155
|
-
try {
|
|
156
|
-
const modelPath = path_1.default.join(modelFolder, `${id}.zip`);
|
|
157
|
-
const downloadStream = got_1.default.stream(url);
|
|
158
|
-
const fileWriterStream = (0, fs_1.createWriteStream)(modelPath);
|
|
159
|
-
yield pipeline(downloadStream, fileWriterStream);
|
|
160
|
-
const instance = yield createModelInstance(id, modelPath, workerFolder, size);
|
|
161
|
-
return instance;
|
|
162
|
-
}
|
|
163
|
-
catch (err) {
|
|
164
|
-
throw new error_1.default.ModelError(`Error createModelInstanceFromURL: id:${id}, url:${url}, error:${err.message}`);
|
|
165
|
-
}
|
|
166
|
-
});
|
|
167
106
|
/**
|
|
168
107
|
* WASM runner config
|
|
169
108
|
* @typedef {Object} RunnerConfig
|
|
@@ -189,7 +128,7 @@ class WasmRunner {
|
|
|
189
128
|
*
|
|
190
129
|
* @param {RunnerConfig} wasmRunnerConfig
|
|
191
130
|
*/
|
|
192
|
-
constructor(wasmRunnerConfig, license = "") {
|
|
131
|
+
constructor(wasmRunnerConfig, externalResolverModule = "", license = "") {
|
|
193
132
|
this._tempWorkerFolder = tmp_1.default.dirSync({
|
|
194
133
|
prefix: "wasmserver_worker",
|
|
195
134
|
// @ts-ignore
|
|
@@ -201,6 +140,7 @@ class WasmRunner {
|
|
|
201
140
|
mode: 0o750,
|
|
202
141
|
});
|
|
203
142
|
this.license = license;
|
|
143
|
+
this.externalResolverModule = externalResolverModule || require.resolve('./defaultExternalResolver');
|
|
204
144
|
this.models = [];
|
|
205
145
|
if (!utils.isEmpty(wasmRunnerConfig)) {
|
|
206
146
|
if (Array.isArray(wasmRunnerConfig)) {
|
|
@@ -232,22 +172,85 @@ class WasmRunner {
|
|
|
232
172
|
})));
|
|
233
173
|
});
|
|
234
174
|
}
|
|
175
|
+
_createModelInstance(id, url, workerFolder, size) {
|
|
176
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
177
|
+
const tempFolder = path_1.default.join(workerFolder, `${id}-${Date.now()}`);
|
|
178
|
+
yield fs_1.default.promises.mkdir(tempFolder, { mode: 0o750 });
|
|
179
|
+
const modelPack = yield unzipFiles(id, url, tempFolder);
|
|
180
|
+
const modelName = id;
|
|
181
|
+
yield replaceRegexInFile(modelPack.js, `wasmBinaryFile="${path_1.default.basename(modelPack.wasm)}"`, `scriptDirectory="";wasmBinaryFile="${modelPack.wasm}"`);
|
|
182
|
+
if (modelPack.data) {
|
|
183
|
+
yield replaceRegexInFile(modelPack.js, `var PACKAGE_NAME="${path_1.default.basename(modelPack.data)}"`, `var PACKAGE_NAME="${modelPack.data}"`);
|
|
184
|
+
yield replaceRegexInFile(modelPack.js, `var REMOTE_PACKAGE_BASE="${path_1.default.basename(modelPack.data)}"`, `var REMOTE_PACKAGE_BASE="${modelPack.data}"`);
|
|
185
|
+
}
|
|
186
|
+
const fileContent = template({
|
|
187
|
+
runtime: modelPack.js.replace(".js", ""),
|
|
188
|
+
model: modelPack.wasm,
|
|
189
|
+
modelName,
|
|
190
|
+
modules: {
|
|
191
|
+
externalResolver: this.externalResolverModule
|
|
192
|
+
},
|
|
193
|
+
});
|
|
194
|
+
const workerPath = path_1.default.join(tempFolder, `worker-${id}.js`);
|
|
195
|
+
yield fs_1.default.promises.writeFile(workerPath, fileContent);
|
|
196
|
+
const instancePool = new node_worker_threads_pool_1.StaticPool({
|
|
197
|
+
size: size || 1,
|
|
198
|
+
task: workerPath,
|
|
199
|
+
});
|
|
200
|
+
return new Promise((resolve, reject) => {
|
|
201
|
+
let limit = 0;
|
|
202
|
+
const checkModelStatus = () => __awaiter(this, void 0, void 0, function* () {
|
|
203
|
+
const isReady = yield instancePool.exec("isReady");
|
|
204
|
+
if (isReady) {
|
|
205
|
+
resolve(instancePool);
|
|
206
|
+
}
|
|
207
|
+
else if (limit >= 2000) {
|
|
208
|
+
// 1 second
|
|
209
|
+
reject(new Error("Model initialize issue"));
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
setTimeout(checkModelStatus, 5);
|
|
213
|
+
// eslint-disable-next-line no-plusplus
|
|
214
|
+
limit++;
|
|
215
|
+
}
|
|
216
|
+
});
|
|
217
|
+
setTimeout(checkModelStatus, 5);
|
|
218
|
+
});
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
;
|
|
235
222
|
_initializeModelInstance(m) {
|
|
236
223
|
return __awaiter(this, void 0, void 0, function* () {
|
|
237
224
|
if (utils.isHttpURL(m.url)) {
|
|
238
|
-
const instance = yield
|
|
225
|
+
const instance = yield this._createModelInstanceFromURL(m.id, m.url, this._tempWorkerFolder.name, this._tempModelFolder.name, m.size);
|
|
239
226
|
m.ready = true;
|
|
240
227
|
m.worker = instance;
|
|
241
228
|
return Promise.resolve();
|
|
242
229
|
}
|
|
243
230
|
if (yield utils.isPath(m.url)) {
|
|
244
|
-
const instance = yield
|
|
231
|
+
const instance = yield this._createModelInstance(m.id, m.url, this._tempWorkerFolder.name, m.size);
|
|
245
232
|
m.ready = true;
|
|
246
233
|
m.worker = instance;
|
|
247
234
|
return Promise.resolve();
|
|
248
235
|
}
|
|
249
236
|
});
|
|
250
237
|
}
|
|
238
|
+
_createModelInstanceFromURL(id, url, workerFolder, modelFolder, size) {
|
|
239
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
240
|
+
try {
|
|
241
|
+
const modelPath = path_1.default.join(modelFolder, `${id}.zip`);
|
|
242
|
+
const downloadStream = got_1.default.stream(url);
|
|
243
|
+
const fileWriterStream = (0, fs_1.createWriteStream)(modelPath);
|
|
244
|
+
yield pipeline(downloadStream, fileWriterStream);
|
|
245
|
+
const instance = yield this._createModelInstance(id, modelPath, workerFolder, size);
|
|
246
|
+
return instance;
|
|
247
|
+
}
|
|
248
|
+
catch (err) {
|
|
249
|
+
throw new error_1.default.ModelError(`Error createModelInstanceFromURL: id:${id}, url:${url}, error:${err.message}`);
|
|
250
|
+
}
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
;
|
|
251
254
|
/**
|
|
252
255
|
* Append and initialized new model to runner
|
|
253
256
|
* @param {ModelConfig} modelConfig
|
|
@@ -261,7 +264,7 @@ class WasmRunner {
|
|
|
261
264
|
const model = {
|
|
262
265
|
id: modelConfig.id,
|
|
263
266
|
url: modelConfig.url,
|
|
264
|
-
size: modelConfig.size
|
|
267
|
+
size: modelConfig.size,
|
|
265
268
|
};
|
|
266
269
|
yield this._initializeModelInstance(model);
|
|
267
270
|
this.models.push(model);
|
|
@@ -270,11 +273,18 @@ class WasmRunner {
|
|
|
270
273
|
/**
|
|
271
274
|
* Remove model from runner
|
|
272
275
|
* @param {string} id Model id
|
|
276
|
+
* @returns Promise
|
|
273
277
|
*/
|
|
274
278
|
remove(id) {
|
|
275
|
-
|
|
276
|
-
this.
|
|
277
|
-
|
|
279
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
280
|
+
if (this.isExist(id)) {
|
|
281
|
+
const model = this.models.find((m) => m.id === id);
|
|
282
|
+
yield model.worker.exec("destroy");
|
|
283
|
+
model.worker.destroy();
|
|
284
|
+
delete model.worker;
|
|
285
|
+
this.models = this.models.filter((m) => m.id !== id);
|
|
286
|
+
}
|
|
287
|
+
});
|
|
278
288
|
}
|
|
279
289
|
_parseError(rawResponse) {
|
|
280
290
|
var _a;
|
|
@@ -349,24 +359,24 @@ class WasmRunner {
|
|
|
349
359
|
* @returns {Promise<ResponseObject>} - Response model data
|
|
350
360
|
*/
|
|
351
361
|
execute(input, id = undefined) {
|
|
352
|
-
var _a
|
|
362
|
+
var _a;
|
|
353
363
|
return __awaiter(this, void 0, void 0, function* () {
|
|
354
|
-
|
|
364
|
+
const logInput = {
|
|
365
|
+
request_data: {
|
|
366
|
+
inputs: input.request_data.inputs,
|
|
367
|
+
},
|
|
368
|
+
request_meta: input.request_meta,
|
|
369
|
+
};
|
|
370
|
+
console.log(`EXECUTING: ${id}, input: ${JSON.stringify(logInput)}`);
|
|
355
371
|
const version_uuid = id || ((_a = input.request_meta) === null || _a === void 0 ? void 0 : _a.version_uuid);
|
|
356
372
|
if (input) {
|
|
357
|
-
console.log(`EXECUTING: ${id}, input: ${JSON.stringify(input)}`);
|
|
358
373
|
const model = this._getModel(version_uuid);
|
|
359
374
|
try {
|
|
360
|
-
const
|
|
361
|
-
const parsedResult = JSON.parse(result);
|
|
362
|
-
if ((_b = parsedResult.response_data) === null || _b === void 0 ? void 0 : _b.errors) {
|
|
363
|
-
const errors = this._parseError(result);
|
|
364
|
-
throw new error_1.default.ModelValidationError(errors, version_uuid, parsedResult);
|
|
365
|
-
}
|
|
375
|
+
const parsedResult = yield model.worker.exec(input, () => console.log('here'));
|
|
366
376
|
return parsedResult;
|
|
367
377
|
}
|
|
368
378
|
catch (err) {
|
|
369
|
-
console.log(
|
|
379
|
+
console.log("ERROR---------");
|
|
370
380
|
console.log(err);
|
|
371
381
|
if (err.name === "validation_error") {
|
|
372
382
|
throw err;
|
package/dist/node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { StaticPool } from "node-worker-threads-pool";
|
|
|
2
2
|
export interface Files {
|
|
3
3
|
js: string;
|
|
4
4
|
wasm: string;
|
|
5
|
+
data?: string;
|
|
5
6
|
}
|
|
6
7
|
export declare type RunnerConfig = ModelConfig[] | ModelConfig;
|
|
7
8
|
export interface ModelConfig {
|
|
@@ -16,6 +17,7 @@ interface ZipContent {
|
|
|
16
17
|
export interface UnzippedFiles {
|
|
17
18
|
js: ZipContent;
|
|
18
19
|
wasm: ZipContent;
|
|
20
|
+
data?: ZipContent;
|
|
19
21
|
}
|
|
20
22
|
export interface NodeModel {
|
|
21
23
|
id: string;
|