@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 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
- resolve({
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
- if (this.isExist(id)) {
244
- this.models.filter((m) => m.id !== id);
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, _c;
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
- if ((_c = result.response_data) === null || _c === void 0 ? void 0 : _c.errors) {
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.version_uuid", input);
322
+ throw new error_1.default.ParameterRequiredError("request_meta.version_id", input);
304
323
  });
305
324
  }
306
325
  }
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
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
- var model = require('<%= runtime %>')
7
+ const model = require('<%= runtime %>');
8
+ const externalResolver = require('<%= modules.externalResolver %>');
9
+
3
10
 
4
11
  let wasm;
5
12
  let wb;
6
- let modelName = '<%= modelName %>';
13
+ const modelName = '<%= modelName %>';
7
14
  let isReady = false;
8
15
 
9
- let execute = function (req) { return false }
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().then(instance => {
13
- try {
14
- execute = function (req) {
15
- try {
16
- if(req === "isReady") {
17
- return isReady
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
- const enc = new TextEncoder();
21
- const encoded = enc.encode(req)
22
-
23
- var inBuffer = instance._malloc(encoded.length);
24
-
25
- var bytes_per_element = encoded.BYTES_PER_ELEMENT;
26
- instance.HEAP8.set(encoded, inBuffer / bytes_per_element);
27
-
28
- const outBuffer = instance._malloc(8);
29
-
30
- const outPtr = instance._node_calc_v3(wb, inBuffer, encoded.length, outBuffer);
31
-
32
- var offset = instance.getValue(outBuffer, "i64");
33
-
34
- var dnc = new TextDecoder("utf-8");
35
-
36
- const resultData = new Uint8Array(instance.HEAPU8.subarray(outPtr, outPtr + offset));
37
-
38
- const result = dnc.decode(resultData).slice()
39
-
40
- instance._free(inBuffer);
41
- instance._free(outBuffer);
42
- instance._free(outPtr);
43
-
44
- return result
45
- } catch(err) {
46
- throw err
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
- wb = instance._construct();
51
- console.log(`Worker ${modelName} initiated`);
52
- isReady = true;
53
- return Promise.resolve()
54
- } catch (err) {
55
- instance = undefined
56
- console.log(`Worker ${modelName} failed to initiate`);
57
- return Promise.reject(err)
58
- }
59
- }).catch(err => console.error(err))
60
- } catch(err) {}
61
-
62
-
63
-
64
- parentPort.on('message', (param) => {
65
- if (typeof param !== 'string' && param !== "isReady") {
66
- throw new Error('Param must be a json string.');
67
- }
68
- const result = execute(param);
69
- parentPort.postMessage(result);
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 = tmp_1.default.fileSync({
72
- dir: workerFolder,
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.name;
75
+ js = fileName;
80
76
  }
81
77
  if (path_1.default.extname(entry.path) === ".wasm") {
82
- wasm = fileName.name;
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 createModelInstanceFromURL(m.id, m.url, this._tempWorkerFolder.name, this._tempModelFolder.name, m.size);
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 createModelInstance(m.id, m.url, this._tempWorkerFolder.name, m.size);
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
- if (this.isExist(id)) {
276
- this.models.filter((m) => m.id !== id);
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, _b;
362
+ var _a;
353
363
  return __awaiter(this, void 0, void 0, function* () {
354
- console.log(`EXECUTING: ${id}, input: ${JSON.stringify(input)}`);
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 result = yield model.worker.exec(JSON.stringify(input));
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('ERROR---------');
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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coherentglobal/wasm-runner",
3
- "version": "0.0.27",
3
+ "version": "0.0.37",
4
4
  "description": "Coherent WASM runner for Javascript and Node.js",
5
5
  "main": "dist/node.js",
6
6
  "browser": "dist/browser.js",