@coherentglobal/wasm-runner 0.0.91 → 0.0.97
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/logger.d.ts +2 -2
- package/dist/browser/logger.js +36 -62
- package/dist/browser/logger.js.map +1 -1
- package/dist/browser/template/main.template.d.ts +1 -1
- package/dist/browser/template/main.template.js +4 -1
- package/dist/browser/template/main.template.js.map +1 -1
- package/dist/browser/template/worker.template.d.ts +20 -2
- package/dist/browser/template/worker.template.js +234 -59
- package/dist/browser/template/worker.template.js.map +1 -1
- package/dist/browser/template.d.ts +1 -1
- package/dist/browser/template.js +5 -2
- package/dist/browser/template.js.map +1 -1
- package/dist/browser.js +26 -14
- package/dist/browser.js.map +1 -1
- package/dist/node/mockLogger.js +2 -2
- package/dist/node/mockLogger.js.map +1 -1
- package/dist/node/template/main.template.ejs +108 -10
- package/dist/node.js +65 -2
- package/dist/node.js.map +1 -1
- package/dist/serializer/columnarSerializer.js +1 -1
- package/dist/serializer/columnarSerializer.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/package.json +12 -16
- package/.github/workflows/build-publish-public.yml +0 -104
- package/.github/workflows/build-publish.yml +0 -141
- package/.github/workflows/code-quality.yml +0 -103
- package/.github/workflows/pull-request.yml +0 -14
- package/.github/workflows/test-multple-browsers.yml +0 -88
- package/.github/workflows/test-mutiple-os.yml +0 -54
- package/circleci/config.yml +0 -200
- package/selenium/headless.test.js +0 -83
- package/sonar-project.properties +0 -11
- package/tsconfig.json +0 -29
|
@@ -8,6 +8,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
10
|
/* eslint-disable camelcase */
|
|
11
|
+
/* eslint-disable max-classes-per-file */
|
|
12
|
+
/* eslint-disable no-param-reassign */
|
|
13
|
+
/* eslint-disable no-undef */
|
|
11
14
|
/* eslint-disable consistent-return */
|
|
12
15
|
/* eslint-disable no-underscore-dangle */
|
|
13
16
|
/* istanbul ignore next */
|
|
@@ -50,19 +53,141 @@ class MyEventEmitter {
|
|
|
50
53
|
}
|
|
51
54
|
}
|
|
52
55
|
/* istanbul ignore next */
|
|
53
|
-
|
|
56
|
+
class Logger {
|
|
57
|
+
constructor(opts) {
|
|
58
|
+
const logLevel = opts ? opts.level : "info";
|
|
59
|
+
this.setLogLevel(logLevel);
|
|
60
|
+
}
|
|
61
|
+
_getLogFormat(level, mergingObject, message) {
|
|
62
|
+
return Object.assign({ versionid: MODEL_ID, level: level || this._logLevel, time: Date.now(), msg: message }, mergingObject);
|
|
63
|
+
}
|
|
64
|
+
setLogLevel(logLevel) {
|
|
65
|
+
if (!logLevel) {
|
|
66
|
+
throw new Error("Log level is required with value like silent|trace|debug|info|warn|error|fatal");
|
|
67
|
+
}
|
|
68
|
+
switch (logLevel.toLowerCase()) {
|
|
69
|
+
case "silent": {
|
|
70
|
+
this._logLevel = 99;
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
73
|
+
case "trace": {
|
|
74
|
+
this._logLevel = 10;
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
case "debug": {
|
|
78
|
+
this._logLevel = 20;
|
|
79
|
+
break;
|
|
80
|
+
}
|
|
81
|
+
case "info": {
|
|
82
|
+
this._logLevel = 30;
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
85
|
+
case "warn": {
|
|
86
|
+
this._logLevel = 40;
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
89
|
+
case "error": {
|
|
90
|
+
this._logLevel = 50;
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
case "fatal": {
|
|
94
|
+
this._logLevel = 60;
|
|
95
|
+
break;
|
|
96
|
+
}
|
|
97
|
+
default: {
|
|
98
|
+
this._logLevel = 30;
|
|
99
|
+
break;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
trace(mergingObject, message) {
|
|
104
|
+
const level = 10;
|
|
105
|
+
if (this._logLevel <= level) {
|
|
106
|
+
if (mergingObject && !message) {
|
|
107
|
+
console.trace(this._getLogFormat(level, {}, mergingObject));
|
|
108
|
+
}
|
|
109
|
+
if (mergingObject && message) {
|
|
110
|
+
console.trace(this._getLogFormat(level, mergingObject, message));
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
debug(mergingObject, message) {
|
|
115
|
+
const level = 20;
|
|
116
|
+
if (this._logLevel <= level) {
|
|
117
|
+
if (mergingObject && !message) {
|
|
118
|
+
console.debug(this._getLogFormat(level, {}, mergingObject));
|
|
119
|
+
}
|
|
120
|
+
if (mergingObject && message) {
|
|
121
|
+
console.debug(this._getLogFormat(level, mergingObject, message));
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
info(mergingObject, message) {
|
|
126
|
+
const level = 30;
|
|
127
|
+
if (this._logLevel <= level) {
|
|
128
|
+
if (mergingObject && !message) {
|
|
129
|
+
console.info(this._getLogFormat(level, {}, mergingObject));
|
|
130
|
+
}
|
|
131
|
+
if (mergingObject && message) {
|
|
132
|
+
console.info(this._getLogFormat(level, mergingObject, message));
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
warn(mergingObject, message) {
|
|
137
|
+
const level = 40;
|
|
138
|
+
if (this._logLevel <= 40) {
|
|
139
|
+
if (mergingObject && !message) {
|
|
140
|
+
console.warn(this._getLogFormat(level, {}, mergingObject));
|
|
141
|
+
}
|
|
142
|
+
if (mergingObject && message) {
|
|
143
|
+
console.warn(this._getLogFormat(level, mergingObject, message));
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
error(mergingObject, message) {
|
|
148
|
+
const level = 50;
|
|
149
|
+
if (this._logLevel <= level) {
|
|
150
|
+
if (mergingObject && !message) {
|
|
151
|
+
console.error(this._getLogFormat(level, {}, mergingObject));
|
|
152
|
+
}
|
|
153
|
+
if (mergingObject && message) {
|
|
154
|
+
console.error(this._getLogFormat(level, mergingObject, message));
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
fatal(mergingObject, message) {
|
|
159
|
+
const level = 60;
|
|
160
|
+
if (this._logLevel <= level) {
|
|
161
|
+
if (mergingObject && !message) {
|
|
162
|
+
console.error(this._getLogFormat(level, {}, mergingObject));
|
|
163
|
+
}
|
|
164
|
+
if (mergingObject && message) {
|
|
165
|
+
console.error(this._getLogFormat(level, mergingObject, message));
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
/* istanbul ignore next */
|
|
171
|
+
const logger = new Logger();
|
|
172
|
+
/* istanbul ignore next */
|
|
173
|
+
if (LOG_LEVEL) {
|
|
174
|
+
logger.setLogLevel(LOG_LEVEL);
|
|
175
|
+
}
|
|
176
|
+
/* istanbul ignore next */
|
|
177
|
+
const workerEventEmitter = new MyEventEmitter();
|
|
54
178
|
/* eslint-disable no-undef */
|
|
55
179
|
/* istanbul ignore next */
|
|
56
180
|
let wasm;
|
|
57
181
|
/* istanbul ignore next */
|
|
58
182
|
let wb;
|
|
183
|
+
let ctx = {};
|
|
59
184
|
/* istanbul ignore next */
|
|
60
|
-
|
|
185
|
+
const CALL_TYPE = {
|
|
61
186
|
0: "SparkService",
|
|
62
187
|
1: "ExternalApi",
|
|
63
188
|
};
|
|
64
189
|
/* istanbul ignore next */
|
|
65
|
-
|
|
190
|
+
const XcallResBuilder = {
|
|
66
191
|
Json: function (callType, name, status, errorCode, responseTime, data) {
|
|
67
192
|
return JSON.stringify({
|
|
68
193
|
metadata: {
|
|
@@ -75,37 +200,65 @@ var XcallResBuilder = {
|
|
|
75
200
|
data: data || {},
|
|
76
201
|
});
|
|
77
202
|
},
|
|
78
|
-
|
|
203
|
+
JsonV2: function (callType, name, status, errorCode, responseTime, data, err) {
|
|
204
|
+
return JSON.stringify(Object.assign(Object.assign({}, data), { xcall_meta: {
|
|
205
|
+
http_status_code: status,
|
|
206
|
+
http_response_time: responseTime,
|
|
207
|
+
error_details: err,
|
|
208
|
+
} }));
|
|
209
|
+
},
|
|
210
|
+
XML: () => { },
|
|
79
211
|
};
|
|
80
212
|
/* istanbul ignore next */
|
|
213
|
+
function getContext() {
|
|
214
|
+
return Object.assign(Object.assign({}, ctx), { upStreamId: MODEL_ID });
|
|
215
|
+
}
|
|
216
|
+
/* istanbul ignore next */
|
|
81
217
|
function moduleInitialize() {
|
|
82
218
|
Module().then((instance) => {
|
|
83
219
|
wasm = instance;
|
|
84
220
|
wb = instance._construct();
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
var ctx = { headers: {} };
|
|
88
|
-
var DISPATCH_TYPE = {
|
|
221
|
+
const dnc = new TextDecoder("utf-8");
|
|
222
|
+
const DISPATCH_TYPE = {
|
|
89
223
|
SPARK_SERVICE: 0,
|
|
90
224
|
EXTERNAL_API: 1,
|
|
91
225
|
};
|
|
92
226
|
// call initialize wasm with licensing key
|
|
93
227
|
// instance._license(license)
|
|
94
228
|
instance.dispatch = (service, argPtr, argsOffSet) => __awaiter(this, void 0, void 0, function* () {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
229
|
+
const resultData = new Uint8Array(instance.HEAPU8.subarray(argPtr, argPtr + argsOffSet));
|
|
230
|
+
const result = dnc.decode(resultData).slice();
|
|
231
|
+
const requestData = JSON.parse(result);
|
|
232
|
+
const folderName = requestData.folder_name;
|
|
233
|
+
const serviceName = requestData.service_name;
|
|
234
|
+
const serviceUri = requestData.service_uri;
|
|
235
|
+
const xCallVersion = requestData.xcall_version;
|
|
236
|
+
logger.trace({ requestData, ctx: getContext(), EventType: "SparkService.Dispatch" }, "Handle dispatch event");
|
|
100
237
|
switch (service) {
|
|
101
238
|
case DISPATCH_TYPE.SPARK_SERVICE: {
|
|
102
239
|
const dispatch = yield new Promise((resolve, reject) => {
|
|
103
240
|
try {
|
|
104
|
-
postMessage({
|
|
241
|
+
postMessage({
|
|
242
|
+
requestData,
|
|
243
|
+
context: getContext(),
|
|
244
|
+
type: "stall",
|
|
245
|
+
});
|
|
105
246
|
// setup event handler here
|
|
106
|
-
|
|
247
|
+
const eventName = "xcall-loopback-result-" + folderName + serviceName + serviceUri;
|
|
107
248
|
workerEventEmitter.once(eventName, (results) => {
|
|
108
|
-
|
|
249
|
+
logger.trace({ eventName, results }, "Handle xcall-loopback-result event");
|
|
250
|
+
let response = "";
|
|
251
|
+
switch (xCallVersion) {
|
|
252
|
+
case 2:
|
|
253
|
+
case 3:
|
|
254
|
+
response = XcallResBuilder.JsonV2(CALL_TYPE[0], serviceUri ||
|
|
255
|
+
'folders/' + folderName + '/services/' + serviceName, 202, "", 0, results);
|
|
256
|
+
break;
|
|
257
|
+
case 1:
|
|
258
|
+
default:
|
|
259
|
+
response = XcallResBuilder.Json(CALL_TYPE[0], serviceUri ||
|
|
260
|
+
'folders/' + folderName + '/services/' + serviceName, 202, "", 0, results);
|
|
261
|
+
}
|
|
109
262
|
resolve(response);
|
|
110
263
|
});
|
|
111
264
|
}
|
|
@@ -115,7 +268,8 @@ function moduleInitialize() {
|
|
|
115
268
|
});
|
|
116
269
|
return dispatch;
|
|
117
270
|
}
|
|
118
|
-
case DISPATCH_TYPE.EXTERNAL_API:
|
|
271
|
+
case DISPATCH_TYPE.EXTERNAL_API:
|
|
272
|
+
default: {
|
|
119
273
|
// return await externalResolver.externalApi(requestData, ctx);
|
|
120
274
|
}
|
|
121
275
|
}
|
|
@@ -127,19 +281,22 @@ function moduleInitialize() {
|
|
|
127
281
|
moduleInitialize();
|
|
128
282
|
/* istanbul ignore next */
|
|
129
283
|
function runComputation(oEvent) {
|
|
130
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16;
|
|
284
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20;
|
|
131
285
|
return __awaiter(this, void 0, void 0, function* () {
|
|
132
286
|
if (!oEvent) {
|
|
133
287
|
return new Error("No Event was placed");
|
|
134
288
|
}
|
|
135
|
-
|
|
136
|
-
|
|
289
|
+
const inputDataFromEvent = oEvent.data[0];
|
|
290
|
+
const input = typeof inputDataFromEvent === "string"
|
|
137
291
|
? JSON.parse(inputDataFromEvent)
|
|
138
292
|
: inputDataFromEvent;
|
|
139
|
-
|
|
293
|
+
const eventCallId = oEvent.data[1];
|
|
140
294
|
if (wasm === undefined || wb === undefined) {
|
|
141
295
|
return new Error("WASM is not ready");
|
|
142
296
|
}
|
|
297
|
+
if (!ctx.headers) {
|
|
298
|
+
ctx.headers = {};
|
|
299
|
+
}
|
|
143
300
|
if ((_b = (_a = input === null || input === void 0 ? void 0 : input.request_meta) === null || _a === void 0 ? void 0 : _a._ctx) === null || _b === void 0 ? void 0 : _b.authorization) {
|
|
144
301
|
ctx.headers.authorization = (_d = (_c = input === null || input === void 0 ? void 0 : input.request_meta) === null || _c === void 0 ? void 0 : _c._ctx) === null || _d === void 0 ? void 0 : _d.authorization;
|
|
145
302
|
(_f = (_e = input === null || input === void 0 ? void 0 : input.request_meta) === null || _e === void 0 ? void 0 : _e._ctx) === null || _f === void 0 ? true : delete _f.authorization;
|
|
@@ -148,39 +305,45 @@ function runComputation(oEvent) {
|
|
|
148
305
|
ctx.headers.secretkey = (_j = input === null || input === void 0 ? void 0 : input.request_meta) === null || _j === void 0 ? void 0 : _j._ctx.secretkey;
|
|
149
306
|
(_l = (_k = input === null || input === void 0 ? void 0 : input.request_meta) === null || _k === void 0 ? void 0 : _k._ctx) === null || _l === void 0 ? true : delete _l.secretkey;
|
|
150
307
|
}
|
|
151
|
-
if ((_o = (_m = input === null || input === void 0 ? void 0 : input.request_meta) === null || _m === void 0 ? void 0 : _m._ctx) === null || _o === void 0 ? void 0 : _o[
|
|
152
|
-
ctx.headers[
|
|
153
|
-
|
|
308
|
+
if ((_o = (_m = input === null || input === void 0 ? void 0 : input.request_meta) === null || _m === void 0 ? void 0 : _m._ctx) === null || _o === void 0 ? void 0 : _o["x-synthetic-key"]) {
|
|
309
|
+
ctx.headers["x-synthetic-key"] =
|
|
310
|
+
(_q = (_p = input === null || input === void 0 ? void 0 : input.request_meta) === null || _p === void 0 ? void 0 : _p._ctx) === null || _q === void 0 ? void 0 : _q["x-synthetic-key"];
|
|
311
|
+
(_s = (_r = input === null || input === void 0 ? void 0 : input.request_meta) === null || _r === void 0 ? void 0 : _r._ctx) === null || _s === void 0 ? true : delete _s["x-synthetic-key"];
|
|
154
312
|
}
|
|
155
313
|
if ((_u = (_t = input === null || input === void 0 ? void 0 : input.request_meta) === null || _t === void 0 ? void 0 : _t._ctx) === null || _u === void 0 ? void 0 : _u.tenant) {
|
|
156
|
-
ctx.
|
|
314
|
+
ctx.tenant = (_w = (_v = input === null || input === void 0 ? void 0 : input.request_meta) === null || _v === void 0 ? void 0 : _v._ctx) === null || _w === void 0 ? void 0 : _w.tenant;
|
|
157
315
|
(_y = (_x = input === null || input === void 0 ? void 0 : input.request_meta) === null || _x === void 0 ? void 0 : _x._ctx) === null || _y === void 0 ? true : delete _y.tenant;
|
|
158
316
|
}
|
|
159
317
|
if ((_0 = (_z = input === null || input === void 0 ? void 0 : input.request_meta) === null || _z === void 0 ? void 0 : _z._ctx) === null || _0 === void 0 ? void 0 : _0.servicemap) {
|
|
160
318
|
ctx.servicemap = (_2 = (_1 = input === null || input === void 0 ? void 0 : input.request_meta) === null || _1 === void 0 ? void 0 : _1._ctx) === null || _2 === void 0 ? void 0 : _2.servicemap;
|
|
161
319
|
(_3 = input === null || input === void 0 ? void 0 : input.request_meta) === null || _3 === void 0 ? true : delete _3._ctx.servicemap;
|
|
162
320
|
}
|
|
163
|
-
if ((_5 = (_4 = input === null || input === void 0 ? void 0 : input.request_meta) === null || _4 === void 0 ? void 0 : _4._ctx) === null || _5 === void 0 ? void 0 : _5.
|
|
164
|
-
ctx.
|
|
165
|
-
(
|
|
321
|
+
if ((_5 = (_4 = input === null || input === void 0 ? void 0 : input.request_meta) === null || _4 === void 0 ? void 0 : _4._ctx) === null || _5 === void 0 ? void 0 : _5.upstreamVersionId) {
|
|
322
|
+
ctx.upstreamVersionId = input === null || input === void 0 ? void 0 : input.request_meta._ctx.upstreamVersionId;
|
|
323
|
+
(_7 = (_6 = input.request_meta) === null || _6 === void 0 ? void 0 : _6._ctx) === null || _7 === void 0 ? true : delete _7.upstreamVersionId;
|
|
324
|
+
}
|
|
325
|
+
if ((_9 = (_8 = input === null || input === void 0 ? void 0 : input.request_meta) === null || _8 === void 0 ? void 0 : _8._ctx) === null || _9 === void 0 ? void 0 : _9.xcallChainId) {
|
|
326
|
+
ctx.xcallChainId = (_11 = (_10 = input === null || input === void 0 ? void 0 : input.request_meta) === null || _10 === void 0 ? void 0 : _10._ctx) === null || _11 === void 0 ? void 0 : _11.xcallChainId;
|
|
327
|
+
(_12 = input === null || input === void 0 ? void 0 : input.request_meta) === null || _12 === void 0 ? true : delete _12._ctx.xcallChainId;
|
|
166
328
|
}
|
|
167
|
-
if ((
|
|
168
|
-
ctx.correlationId = (
|
|
169
|
-
(
|
|
329
|
+
if ((_14 = (_13 = input === null || input === void 0 ? void 0 : input.request_meta) === null || _13 === void 0 ? void 0 : _13._ctx) === null || _14 === void 0 ? void 0 : _14.correlationId) {
|
|
330
|
+
ctx.correlationId = (_15 = input === null || input === void 0 ? void 0 : input.request_meta) === null || _15 === void 0 ? void 0 : _15._ctx.correlationId;
|
|
331
|
+
(_16 = input === null || input === void 0 ? void 0 : input.request_meta) === null || _16 === void 0 ? true : delete _16._ctx.correlationId;
|
|
170
332
|
}
|
|
171
|
-
|
|
172
|
-
((
|
|
333
|
+
const isMetadataSubSvc = ((_17 = input === null || input === void 0 ? void 0 : input.request_meta) === null || _17 === void 0 ? void 0 : _17.service_category) &&
|
|
334
|
+
((_18 = input === null || input === void 0 ? void 0 : input.request_meta) === null || _18 === void 0 ? void 0 : _18.service_category.split(",").some((c) => c.toLowerCase() === "metadata")) &&
|
|
173
335
|
metadata !== undefined;
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
336
|
+
const enc = new TextEncoder();
|
|
337
|
+
const encoded = enc.encode(inputDataFromEvent);
|
|
338
|
+
const inBuffer = wasm._malloc(encoded.length);
|
|
339
|
+
const bytes_per_element = encoded.BYTES_PER_ELEMENT;
|
|
178
340
|
wasm.HEAP8.set(encoded, inBuffer / bytes_per_element);
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
341
|
+
const outBuffer = wasm._malloc(8);
|
|
342
|
+
logger.debug({ ctx }, "Context");
|
|
343
|
+
const outPtr = yield wasm.ccall("node_calc_v3", "number", ["number", "number", "number", "number"], [wb, inBuffer, encoded.length, outBuffer], { async: true });
|
|
344
|
+
const offset = wasm.getValue(outBuffer, "i64");
|
|
345
|
+
const resultData = new Uint8Array(wasm.HEAPU8.subarray(outPtr, outPtr + offset));
|
|
346
|
+
const dnc = new TextDecoder("utf-8");
|
|
184
347
|
let result = dnc.decode(resultData).slice();
|
|
185
348
|
wasm._free(inBuffer);
|
|
186
349
|
wasm._free(outBuffer);
|
|
@@ -190,40 +353,52 @@ function runComputation(oEvent) {
|
|
|
190
353
|
if (!result.response_data) {
|
|
191
354
|
result.response_data = {};
|
|
192
355
|
}
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
hasImageOutputs.reduce((prev, curr) => {
|
|
356
|
+
const hasImageOutputs = (_19 = metadata === null || metadata === void 0 ? void 0 : metadata.ImageOutputs) !== null && _19 !== void 0 ? _19 : [];
|
|
357
|
+
const imageOutputs = hasImageOutputs
|
|
358
|
+
? hasImageOutputs.reduce((prev, curr) => {
|
|
196
359
|
if (!(curr === null || curr === void 0 ? void 0 : curr.ImageName))
|
|
197
360
|
return prev;
|
|
198
361
|
prev[curr.ImageName] = (curr === null || curr === void 0 ? void 0 : curr.Base64Content) || "";
|
|
199
362
|
return prev;
|
|
200
|
-
}, {})
|
|
201
|
-
|
|
363
|
+
}, {})
|
|
364
|
+
: {};
|
|
365
|
+
result.response_data.outputs = Object.assign(Object.assign(Object.assign({}, (_20 = result.response_data) === null || _20 === void 0 ? void 0 : _20.outputs), metadata === null || metadata === void 0 ? void 0 : metadata.Outputs), imageOutputs);
|
|
202
366
|
return [JSON.stringify(result), eventCallId];
|
|
203
367
|
}
|
|
368
|
+
// Reset context;
|
|
369
|
+
logger.debug({ ctx }, "Context.Reset");
|
|
370
|
+
ctx = {};
|
|
371
|
+
logger.debug({ ctx }, "Context.Reset.Complete");
|
|
204
372
|
return [result, eventCallId];
|
|
205
373
|
});
|
|
206
374
|
}
|
|
207
|
-
;
|
|
208
375
|
/* istanbul ignore next */
|
|
209
376
|
onmessage = function (oEvent) {
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
377
|
+
const event = oEvent;
|
|
378
|
+
const input = event.data[0];
|
|
379
|
+
const eventCallId = event.data[1];
|
|
380
|
+
const messageType = event.data[2];
|
|
214
381
|
// check if oEvent has info
|
|
215
382
|
if (messageType === "dispatch") {
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
383
|
+
logger.trace(input, "dispatching");
|
|
384
|
+
// emit something here
|
|
385
|
+
const folderName = input.folder_name;
|
|
386
|
+
const serviceName = input.service_name;
|
|
387
|
+
const serviceUri = input.service_uri;
|
|
388
|
+
const { response } = input;
|
|
389
|
+
const name = "xcall-loopback-result-" + folderName + serviceName + serviceUri;
|
|
220
390
|
workerEventEmitter.emit(name, response);
|
|
221
391
|
}
|
|
222
392
|
else {
|
|
223
|
-
runComputation(event)
|
|
393
|
+
runComputation(event)
|
|
394
|
+
.then((computationResult) => {
|
|
224
395
|
postMessage(computationResult);
|
|
225
|
-
})
|
|
226
|
-
|
|
396
|
+
})
|
|
397
|
+
.catch((err) => {
|
|
398
|
+
postMessage([
|
|
399
|
+
JSON.stringify({ executeError: err.message }),
|
|
400
|
+
eventCallId,
|
|
401
|
+
]);
|
|
227
402
|
});
|
|
228
403
|
}
|
|
229
404
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.template.js","sourceRoot":"","sources":["../../../src/browser/template/worker.template.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worker.template.js","sourceRoot":"","sources":["../../../src/browser/template/worker.template.js"],"names":[],"mappings":";;;;;;;;;AAAA,8BAA8B;AAC9B,yCAAyC;AACzC,sCAAsC;AACtC,6BAA6B;AAC7B,sCAAsC;AACtC,yCAAyC;AACzC,2BAA2B;AAC3B,MAAM,cAAc;IAClB;QACE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,EAAE,CAAC,IAAI,EAAE,QAAQ;QACf,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;SACzB;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,QAAQ;QACjB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;YAC3B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;SAC7B;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,cAAc,CAAC,IAAI,EAAE,gBAAgB;QACnC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,MAAM,IAAI,GAAG,2CAA2C,GAAG,IAAI,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;SACvB;QAED,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,gBAAgB,CAAC;QAEpE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,IAAI;QACb,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,EAAE;YACjC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC,CAAC;QAEF,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;SAC3C;QAED,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;YAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAC9C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;SAC7B;IACH,CAAC;CACF;AAED,2BAA2B;AAC3B,MAAM,MAAM;IACV,YAAY,IAAI;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAE5C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO;QACzC,uBACE,SAAS,EAAE,QAAQ,EACnB,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,SAAS,EAC9B,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,EAChB,GAAG,EAAE,OAAO,IACT,aAAa,EAChB;IACJ,CAAC;IAED,WAAW,CAAC,QAAQ;QAClB,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CACb,gFAAgF,CACjF,CAAC;SACH;QACD,QAAQ,QAAQ,CAAC,WAAW,EAAE,EAAE;YAC9B,KAAK,QAAQ,CAAC,CAAC;gBACb,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;gBACpB,MAAM;aACP;YACD,KAAK,OAAO,CAAC,CAAC;gBACZ,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;gBACpB,MAAM;aACP;YACD,KAAK,OAAO,CAAC,CAAC;gBACZ,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;gBACpB,MAAM;aACP;YACD,KAAK,MAAM,CAAC,CAAC;gBACX,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;gBACpB,MAAM;aACP;YACD,KAAK,MAAM,CAAC,CAAC;gBACX,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;gBACpB,MAAM;aACP;YACD,KAAK,OAAO,CAAC,CAAC;gBACZ,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;gBACpB,MAAM;aACP;YACD,KAAK,OAAO,CAAC,CAAC;gBACZ,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;gBACpB,MAAM;aACP;YACD,OAAO,CAAC,CAAC;gBACP,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;gBACpB,MAAM;aACP;SACF;IACH,CAAC;IAED,KAAK,CAAC,aAAa,EAAE,OAAO;QAC1B,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,EAAE;YAC3B,IAAI,aAAa,IAAI,CAAC,OAAO,EAAE;gBAC7B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC;aAC7D;YACD,IAAI,aAAa,IAAI,OAAO,EAAE;gBAC5B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;aAClE;SACF;IACH,CAAC;IAED,KAAK,CAAC,aAAa,EAAE,OAAO;QAC1B,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,EAAE;YAC3B,IAAI,aAAa,IAAI,CAAC,OAAO,EAAE;gBAC7B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC;aAC7D;YACD,IAAI,aAAa,IAAI,OAAO,EAAE;gBAC5B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;aAClE;SACF;IACH,CAAC;IAED,IAAI,CAAC,aAAa,EAAE,OAAO;QACzB,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,EAAE;YAC3B,IAAI,aAAa,IAAI,CAAC,OAAO,EAAE;gBAC7B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC;aAC5D;YACD,IAAI,aAAa,IAAI,OAAO,EAAE;gBAC5B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;aACjE;SACF;IACH,CAAC;IAED,IAAI,CAAC,aAAa,EAAE,OAAO;QACzB,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE;YACxB,IAAI,aAAa,IAAI,CAAC,OAAO,EAAE;gBAC7B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC;aAC5D;YACD,IAAI,aAAa,IAAI,OAAO,EAAE;gBAC5B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;aACjE;SACF;IACH,CAAC;IAED,KAAK,CAAC,aAAa,EAAE,OAAO;QAC1B,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,EAAE;YAC3B,IAAI,aAAa,IAAI,CAAC,OAAO,EAAE;gBAC7B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC;aAC7D;YACD,IAAI,aAAa,IAAI,OAAO,EAAE;gBAC5B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;aAClE;SACF;IACH,CAAC;IAED,KAAK,CAAC,aAAa,EAAE,OAAO;QAC1B,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,EAAE;YAC3B,IAAI,aAAa,IAAI,CAAC,OAAO,EAAE;gBAC7B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC;aAC7D;YACD,IAAI,aAAa,IAAI,OAAO,EAAE;gBAC5B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;aAClE;SACF;IACH,CAAC;CACF;AAED,2BAA2B;AAC3B,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;AAE5B,2BAA2B;AAC3B,IAAI,SAAS,EAAE;IACb,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;CAC/B;AAED,2BAA2B;AAC3B,MAAM,kBAAkB,GAAG,IAAI,cAAc,EAAE,CAAC;AAEhD,6BAA6B;AAC7B,2BAA2B;AAC3B,IAAI,IAAI,CAAC;AACT,2BAA2B;AAC3B,IAAI,EAAE,CAAC;AACP,IAAI,GAAG,GAAG,EAAE,CAAC;AAEb,2BAA2B;AAC3B,MAAM,SAAS,GAAG;IAChB,CAAC,EAAE,cAAc;IACjB,CAAC,EAAE,aAAa;CACjB,CAAC;AAEF,2BAA2B;AAC3B,MAAM,eAAe,GAAG;IACtB,IAAI,EAAE,UAAU,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI;QACnE,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,QAAQ,EAAE;gBACR,QAAQ,EAAE,QAAQ;gBAClB,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,MAAM;gBACd,UAAU,EAAE,SAAS;gBACrB,aAAa,EAAE,YAAY;aAC5B;YACD,IAAI,EAAE,IAAI,IAAI,EAAE;SACjB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,EAAE,UACN,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,SAAS,EACT,YAAY,EACZ,IAAI,EACJ,GAAG;QAEH,OAAO,IAAI,CAAC,SAAS,iCAChB,IAAI,KACP,UAAU,EAAE;gBACV,gBAAgB,EAAE,MAAM;gBACxB,kBAAkB,EAAE,YAAY;gBAChC,aAAa,EAAE,GAAG;aACnB,IACD,CAAC;IACL,CAAC;IACD,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC;CACd,CAAC;AAEF,2BAA2B;AAC3B,SAAS,UAAU;IACjB,uCACK,GAAG,KACN,UAAU,EAAE,QAAQ,IACpB;AACJ,CAAC;AAED,2BAA2B;AAC3B,SAAS,gBAAgB;IACvB,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACzB,IAAI,GAAG,QAAQ,CAAC;QAChB,EAAE,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;QAErC,MAAM,aAAa,GAAG;YACpB,aAAa,EAAE,CAAC;YAChB,YAAY,EAAE,CAAC;SAChB,CAAC;QAEF,0CAA0C;QAC1C,6BAA6B;QAE7B,QAAQ,CAAC,QAAQ,GAAG,CAAO,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE;YACxD,MAAM,UAAU,GAAG,IAAI,UAAU,CAC/B,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,CACtD,CAAC;YACF,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC;YAC3C,MAAM,WAAW,GAAG,WAAW,CAAC,YAAY,CAAC;YAC7C,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC;YAC3C,MAAM,YAAY,GAAG,WAAW,CAAC,aAAa,CAAC;YAC/C,MAAM,CAAC,KAAK,CACV,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,uBAAuB,EAAE,EACtE,uBAAuB,CACxB,CAAC;YAEF,QAAQ,OAAO,EAAE;gBACf,KAAK,aAAa,CAAC,aAAa,CAAC,CAAC;oBAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;wBACrD,IAAI;4BACF,WAAW,CAAC;gCACV,WAAW;gCACX,OAAO,EAAE,UAAU,EAAE;gCACrB,IAAI,EAAE,OAAO;6BACd,CAAC,CAAC;4BACH,2BAA2B;4BAC3B,MAAM,SAAS,GAAG,wBAAwB,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC;4BACnF,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;gCAC7C,MAAM,CAAC,KAAK,CACV,EAAE,SAAS,EAAE,OAAO,EAAE,EACtB,oCAAoC,CACrC,CAAC;gCACF,IAAI,QAAQ,GAAG,EAAE,CAAC;gCAClB,QAAQ,YAAY,EAAE;oCACpB,KAAK,CAAC,CAAC;oCACP,KAAK,CAAC;wCACJ,QAAQ,GAAG,eAAe,CAAC,MAAM,CAC/B,SAAS,CAAC,CAAC,CAAC,EACZ,UAAU;4CACV,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,WAAW,EACpD,GAAG,EACH,EAAE,EACF,CAAC,EACD,OAAO,CACR,CAAC;wCACF,MAAM;oCACR,KAAK,CAAC,CAAC;oCACP;wCACE,QAAQ,GAAG,eAAe,CAAC,IAAI,CAC7B,SAAS,CAAC,CAAC,CAAC,EACZ,UAAU;4CACV,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,WAAW,EACpD,GAAG,EACH,EAAE,EACF,CAAC,EACD,OAAO,CACR,CAAC;iCACL;gCAED,OAAO,CAAC,QAAQ,CAAC,CAAC;4BACpB,CAAC,CAAC,CAAC;yBACJ;wBAAC,OAAO,GAAG,EAAE;4BACZ,MAAM,CAAC,GAAG,CAAC,CAAC;yBACb;oBACH,CAAC,CAAC,CAAC;oBACH,OAAO,QAAQ,CAAC;iBACjB;gBACD,KAAK,aAAa,CAAC,YAAY,CAAC;gBAChC,OAAO,CAAC,CAAC;oBACP,+DAA+D;iBAChE;aACF;QACH,CAAC,CAAA,CAAC;QACF,WAAW,CAAC,aAAa,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,2BAA2B;AAC3B,gBAAgB,EAAE,CAAC;AAEnB,2BAA2B;AAC3B,SAAe,cAAc,CAAC,MAAM;;;QAClC,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;SACzC;QAED,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,KAAK,GACT,OAAO,kBAAkB,KAAK,QAAQ;YACpC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC;YAChC,CAAC,CAAC,kBAAkB,CAAC;QACzB,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,IAAI,KAAK,SAAS,IAAI,EAAE,KAAK,SAAS,EAAE;YAC1C,OAAO,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;SACvC;QAED,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;YAChB,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC;SAClB;QAED,IAAI,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,0CAAE,IAAI,0CAAE,aAAa,EAAE;YAC5C,GAAG,CAAC,OAAO,CAAC,aAAa,GAAG,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,0CAAE,IAAI,0CAAE,aAAa,CAAC;YAC9D,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,0CAAE,IAAI,+CAAE,aAAa,CAAC;SACjD;QAED,IAAI,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,0CAAE,IAAI,0CAAE,SAAS,EAAE;YACxC,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,0CAAE,IAAI,CAAC,SAAS,CAAC;YACrD,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,0CAAE,IAAI,+CAAE,SAAS,CAAC;SAC7C;QAED,IAAI,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,0CAAE,IAAI,0CAAG,iBAAiB,CAAC,EAAE;YAClD,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC;gBAC5B,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,0CAAE,IAAI,0CAAG,iBAAiB,CAAC,CAAC;YAC1C,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,0CAAE,IAAI,+CAAG,iBAAiB,CAAC,CAAC;SACvD;QAED,IAAI,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,0CAAE,IAAI,0CAAE,MAAM,EAAE;YACrC,GAAG,CAAC,MAAM,GAAG,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,0CAAE,IAAI,0CAAE,MAAM,CAAC;YACxC,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,0CAAE,IAAI,+CAAE,MAAM,CAAC;SAC1C;QAED,IAAI,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,0CAAE,IAAI,0CAAE,UAAU,EAAE;YACzC,GAAG,CAAC,UAAU,GAAG,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,0CAAE,IAAI,0CAAE,UAAU,CAAC;YAChD,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,+CAAE,IAAI,CAAC,UAAU,CAAC;SAC7C;QAED,IAAI,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,0CAAE,IAAI,0CAAE,iBAAiB,EAAE;YAChD,GAAG,CAAC,iBAAiB,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC;YAC5D,MAAA,MAAA,KAAK,CAAC,YAAY,0CAAE,IAAI,+CAAE,iBAAiB,CAAC;SACpD;QAED,IAAI,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,0CAAE,IAAI,0CAAE,YAAY,EAAE;YAC3C,GAAG,CAAC,YAAY,GAAG,OAAA,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,4CAAE,IAAI,4CAAE,YAAY,CAAC;YACpD,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,iDAAE,IAAI,CAAC,YAAY,CAAC;SAC/C;QAED,IAAI,OAAA,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,4CAAE,IAAI,4CAAE,aAAa,EAAE;YAC5C,GAAG,CAAC,aAAa,GAAG,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,4CAAE,IAAI,CAAC,aAAa,CAAC;YACrD,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,iDAAE,IAAI,CAAC,aAAa,CAAC;SAChD;QAED,MAAM,gBAAgB,GACpB,CAAA,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,4CAAE,gBAAgB;aACrC,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,4CAAE,gBAAgB,CAClC,KAAK,CAAC,GAAG,EACT,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,CAAA;YAC9C,QAAQ,KAAK,SAAS,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAE/C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE9C,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACpD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,GAAG,iBAAiB,CAAC,CAAC;QAEtD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAElC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAC7B,cAAc,EACd,QAAQ,EACR,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EACxC,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,EACzC,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,IAAI,UAAU,CAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAC9C,CAAC;QACF,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnB,IAAI,gBAAgB,EAAE;YACpB,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;gBACzB,MAAM,CAAC,aAAa,GAAG,EAAE,CAAC;aAC3B;YACD,MAAM,eAAe,GAAG,OAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,qCAAI,EAAE,CAAC;YACrD,MAAM,YAAY,GAAG,eAAe;gBAClC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;oBACpC,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,CAAA;wBAAE,OAAO,IAAI,CAAC;oBAClC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,KAAI,EAAE,CAAC;oBACjD,OAAO,IAAI,CAAC;gBACd,CAAC,EAAE,EAAE,CAAC;gBACR,CAAC,CAAC,EAAE,CAAC;YAEP,MAAM,CAAC,aAAa,CAAC,OAAO,iDACvB,OAAA,MAAM,CAAC,aAAa,4CAAE,OAAO,GAC7B,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,GACjB,YAAY,CAChB,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC;SAC9C;QAED,iBAAiB;QACjB,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,eAAe,CAAC,CAAC;QACvC,GAAG,GAAG,EAAE,CAAC;QACT,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,wBAAwB,CAAC,CAAC;QAChD,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;;CAC9B;AAED,2BAA2B;AAC3B,SAAS,GAAG,UAAU,MAAM;IAC1B,MAAM,KAAK,GAAG,MAAM,CAAC;IACrB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClC,2BAA2B;IAC3B,IAAI,WAAW,KAAK,UAAU,EAAE;QAC9B,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QACnC,sBAAsB;QACtB,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC;QACvC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QAC3B,MAAM,IAAI,GAAG,wBAAwB,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC;QAC9E,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;KACzC;SAAM;QACL,cAAc,CAAC,KAAK,CAAC;aAClB,IAAI,CAAC,CAAC,iBAAiB,EAAE,EAAE;YAC1B,WAAW,CAAC,iBAAiB,CAAC,CAAC;QACjC,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,WAAW,CAAC;gBACV,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC7C,WAAW;aACZ,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;KACN;AACH,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export default function buildWorkerFN(runtime: any, license?: string, metadata?: {}): string;
|
|
1
|
+
export default function buildWorkerFN(runtime: any, modelId: any, license?: string, metadata?: {}, logLevel?: string): string;
|
package/dist/browser/template.js
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
function buildWorkerFN(runtime, license = "", metadata = {}) {
|
|
3
|
+
function buildWorkerFN(runtime, modelId, license = "", metadata = {}, logLevel = "info") {
|
|
4
4
|
return `
|
|
5
5
|
${runtime}
|
|
6
6
|
|
|
7
|
+
const LOG_LEVEL = '${logLevel}';
|
|
8
|
+
const MODEL_ID = '${modelId}';
|
|
7
9
|
const metadata = ${JSON.stringify(metadata)};
|
|
8
10
|
|
|
9
11
|
const license = '${license}';
|
|
10
|
-
|
|
12
|
+
|
|
13
|
+
class MyEventEmitter{constructor(){this._events={},this._eventsOnce={}}on(e,t){this._events[e]||(this._events[e]=[]),this._events[e].push(t)}once(e,t){this._eventsOnce[e]||(this._eventsOnce[e]=[]),this._eventsOnce[e].push(t)}removeListener(e,t){if(!this._events[e]){throw new Error("Can't emit an event. Event doesn't exits."+e)}this._events[e]=this._events[e].filter((e=>e!==t))}emit(e,t){const s=e=>{e(t)};this._events[e]&&this._events[e].forEach(s),this._eventsOnce[e]&&(this._eventsOnce[e].forEach(s),this._eventsOnce[e]=[])}}class Logger{constructor(e){const t=e?e.level:"info";this.setLogLevel(t)}_getLogFormat(e,t,s){return{versionid:MODEL_ID,level:e||this._logLevel,time:Date.now(),msg:s,...t}}setLogLevel(e){if(!e)throw new Error("Log level is required with value like silent|trace|debug|info|warn|error|fatal");switch(e.toLowerCase()){case"silent":this._logLevel=99;break;case"trace":this._logLevel=10;break;case"debug":this._logLevel=20;break;case"info":default:this._logLevel=30;break;case"warn":this._logLevel=40;break;case"error":this._logLevel=50;break;case"fatal":this._logLevel=60}}trace(e,t){this._logLevel<=10&&(e&&!t&&console.trace(this._getLogFormat(10,{},e)),e&&t&&console.trace(this._getLogFormat(10,e,t)))}debug(e,t){this._logLevel<=20&&(e&&!t&&console.debug(this._getLogFormat(20,{},e)),e&&t&&console.debug(this._getLogFormat(20,e,t)))}info(e,t){this._logLevel<=30&&(e&&!t&&console.info(this._getLogFormat(30,{},e)),e&&t&&console.info(this._getLogFormat(30,e,t)))}warn(e,t){this._logLevel<=40&&(e&&!t&&console.warn(this._getLogFormat(40,{},e)),e&&t&&console.warn(this._getLogFormat(40,e,t)))}error(e,t){this._logLevel<=50&&(e&&!t&&console.error(this._getLogFormat(50,{},e)),e&&t&&console.error(this._getLogFormat(50,e,t)))}fatal(e,t){this._logLevel<=60&&(e&&!t&&console.error(this._getLogFormat(60,{},e)),e&&t&&console.error(this._getLogFormat(60,e,t)))}}const logger=new Logger;LOG_LEVEL&&logger.setLogLevel(LOG_LEVEL);const workerEventEmitter=new MyEventEmitter;let wasm,wb,ctx={};const CALL_TYPE={0:"SparkService",1:"ExternalApi"},XcallResBuilder={Json:function(e,t,s,r,a,o){return JSON.stringify({metadata:{calltype:e,name:t,status:s,error_code:r,response_time:a},data:o||{}})},JsonV2:function(e,t,s,r,a,o,n){return JSON.stringify({...o,xcall_meta:{http_status_code:s,http_response_time:a,error_details:n}})},XML:()=>{}};function getContext(){return{...ctx,upStreamId:MODEL_ID}}function moduleInitialize(){Module().then((e=>{wasm=e,wb=e._construct();const t=new TextDecoder("utf-8"),s=0;e.dispatch=async(r,a,o)=>{const n=new Uint8Array(e.HEAPU8.subarray(a,a+o)),c=t.decode(n).slice(),i=JSON.parse(c),l=i.folder_name,_=i.service_name,u=i.service_uri,m=i.xcall_version;if(logger.trace({requestData:i,ctx:getContext(),EventType:"SparkService.Dispatch"},"Handle dispatch event"),r===s){return await new Promise(((e,t)=>{try{postMessage({requestData:i,context:getContext(),type:"stall"});const t="xcall-loopback-result-"+l+_+u;workerEventEmitter.once(t,(s=>{logger.trace({eventName:t,results:s},"Handle xcall-loopback-result event");let r="";switch(m){case 2:case 3:r=XcallResBuilder.JsonV2(CALL_TYPE[0],u||"folders/"+l+"/services/"+_,202,"",0,s);break;default:r=XcallResBuilder.Json(CALL_TYPE[0],u||"folders/"+l+"/services/"+_,202,"",0,s)}e(r)}))}catch(e){t(e)}}))}},postMessage("Initialized")}))}async function runComputation(e){if(!e)return new Error("No Event was placed");const t=e.data[0],s="string"==typeof t?JSON.parse(t):t,r=e.data[1];if(void 0===wasm||void 0===wb)return new Error("WASM is not ready");ctx.headers||(ctx.headers={}),s?.request_meta?._ctx?.authorization&&(ctx.headers.authorization=s?.request_meta?._ctx?.authorization,delete s?.request_meta?._ctx?.authorization),s?.request_meta?._ctx?.secretkey&&(ctx.headers.secretkey=s?.request_meta?._ctx.secretkey,delete s?.request_meta?._ctx?.secretkey),s?.request_meta?._ctx?.["x-synthetic-key"]&&(ctx.headers["x-synthetic-key"]=s?.request_meta?._ctx?.["x-synthetic-key"],delete s?.request_meta?._ctx?.["x-synthetic-key"]),s?.request_meta?._ctx?.tenant&&(ctx.tenant=s?.request_meta?._ctx?.tenant,delete s?.request_meta?._ctx?.tenant),s?.request_meta?._ctx?.servicemap&&(ctx.servicemap=s?.request_meta?._ctx?.servicemap,delete s?.request_meta?._ctx.servicemap),s?.request_meta?._ctx?.upstreamVersionId&&(ctx.upstreamVersionId=s?.request_meta._ctx.upstreamVersionId,delete s.request_meta?._ctx?.upstreamVersionId),s?.request_meta?._ctx?.xcallChainId&&(ctx.xcallChainId=s?.request_meta?._ctx?.xcallChainId,delete s?.request_meta?._ctx.xcallChainId),s?.request_meta?._ctx?.correlationId&&(ctx.correlationId=s?.request_meta?._ctx.correlationId,delete s?.request_meta?._ctx.correlationId);const a=s?.request_meta?.service_category&&s?.request_meta?.service_category.split(",").some((e=>"metadata"===e.toLowerCase()))&&void 0!==metadata,o=(new TextEncoder).encode(t),n=wasm._malloc(o.length),c=o.BYTES_PER_ELEMENT;wasm.HEAP8.set(o,n/c);const i=wasm._malloc(8);logger.debug({ctx:ctx},"Context");const l=await wasm.ccall("node_calc_v3","number",["number","number","number","number"],[wb,n,o.length,i],{async:!0}),_=wasm.getValue(i,"i64"),u=new Uint8Array(wasm.HEAPU8.subarray(l,l+_));let m=new TextDecoder("utf-8").decode(u).slice();if(wasm._free(n),wasm._free(i),wasm._free(l),a){m=JSON.parse(m),m.response_data||(m.response_data={});const e=metadata?.ImageOutputs??[],t=e?e.reduce(((e,t)=>t?.ImageName?(e[t.ImageName]=t?.Base64Content||"",e):e),{}):{};return m.response_data.outputs={...m.response_data?.outputs,...metadata?.Outputs,...t},[JSON.stringify(m),r]}return logger.debug({ctx:ctx},"Context.Reset"),ctx={},logger.debug({ctx:ctx},"Context.Reset.Complete"),[m,r]}moduleInitialize(),onmessage=function(e){const t=e,s=t.data[0],r=t.data[1];if("dispatch"===t.data[2]){logger.trace(s,"dispatching");const e=s.folder_name,t=s.service_name,r=s.service_uri,{response:a}=s,o="xcall-loopback-result-"+e+t+r;workerEventEmitter.emit(o,a)}else runComputation(t).then((e=>{postMessage(e)})).catch((e=>{postMessage([JSON.stringify({executeError:e.message}),r])}))};
|
|
11
14
|
|
|
12
15
|
`;
|
|
13
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/browser/template.js"],"names":[],"mappings":";;AAAA,SAAwB,aAAa,
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/browser/template.js"],"names":[],"mappings":";;AAAA,SAAwB,aAAa,CACnC,OAAO,EACP,OAAO,EACP,OAAO,GAAG,EAAE,EACZ,QAAQ,GAAG,EAAE,EACb,QAAQ,GAAG,MAAM;IAEjB,OAAO;MACH,OAAO;;yBAEY,QAAQ;wBACT,OAAO;uBACR,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;;uBAExB,OAAO;;;;CAI7B,CAAC;AACF,CAAC;AAnBD,gCAmBC"}
|
package/dist/browser.js
CHANGED
|
@@ -43,7 +43,7 @@ exports.WasmRunner = exports.ColumnarSerializer = void 0;
|
|
|
43
43
|
/* eslint-disable no-param-reassign */
|
|
44
44
|
/* eslint-disable no-underscore-dangle */
|
|
45
45
|
/* eslint-disable import/prefer-default-export */
|
|
46
|
-
const
|
|
46
|
+
const cuid2_1 = require("@paralleldrive/cuid2");
|
|
47
47
|
const path_1 = __importDefault(require("path"));
|
|
48
48
|
const utils = __importStar(require("./utils"));
|
|
49
49
|
const logger_1 = __importStar(require("./browser/logger"));
|
|
@@ -360,32 +360,42 @@ class WasmRunner {
|
|
|
360
360
|
const runtime = yield getRuntimeContent(js, wasm, data);
|
|
361
361
|
logger_1.logger.debug({ modelid: m.id, timespent: Date.now() - start }, "_initializeModelInstance.createWorker");
|
|
362
362
|
m.parents = this;
|
|
363
|
-
m.worker = new Worker(utils.jsString2workerURL((0, template_1.default)(runtime, license, metadataJSON)));
|
|
363
|
+
m.worker = new Worker(utils.jsString2workerURL((0, template_1.default)(runtime, m.id, license, metadataJSON)));
|
|
364
364
|
const loggerInt = this._logger;
|
|
365
|
+
/* istanbul ignore next */
|
|
365
366
|
m.worker.onmessage = function (oEvent) {
|
|
366
367
|
var _a;
|
|
367
368
|
if (!Array.isArray(oEvent.data) && oEvent.data === "Initialized") {
|
|
368
369
|
m.ready = true;
|
|
369
370
|
}
|
|
370
371
|
else if (!Array.isArray(oEvent.data) && ((_a = oEvent.data) === null || _a === void 0 ? void 0 : _a.type) === "stall") {
|
|
371
|
-
const requestData =
|
|
372
|
-
const
|
|
373
|
-
|
|
372
|
+
const requestData = oEvent.data.requestData;
|
|
373
|
+
const input = typeof requestData.request_body === 'string'
|
|
374
|
+
? JSON.parse(requestData.request_body)
|
|
375
|
+
: requestData.request_body;
|
|
376
|
+
const serviceUri = requestData.service_uri;
|
|
377
|
+
const folderName = requestData.folder_name;
|
|
378
|
+
const serviceName = requestData.service_name;
|
|
379
|
+
/* istanbul ignore next */
|
|
374
380
|
const fn = () => __awaiter(this, void 0, void 0, function* () {
|
|
375
381
|
try {
|
|
376
382
|
const option = {
|
|
383
|
+
service_uri: serviceUri,
|
|
377
384
|
folder_name: folderName,
|
|
378
385
|
service_name: serviceName,
|
|
386
|
+
context: oEvent.data.context
|
|
379
387
|
// version_id: versionId
|
|
380
388
|
};
|
|
381
389
|
const modelVersionId = yield m.parents.callback(option);
|
|
382
|
-
if (!
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
const results = yield m.parents.execute(
|
|
390
|
+
if (!input.request_meta)
|
|
391
|
+
input.request_meta = {};
|
|
392
|
+
input.request_meta.version_id = modelVersionId;
|
|
393
|
+
const results = yield m.parents.execute(input, modelVersionId);
|
|
386
394
|
m.worker.postMessage([
|
|
387
395
|
{
|
|
388
|
-
|
|
396
|
+
service_uri: serviceUri,
|
|
397
|
+
folder_name: folderName,
|
|
398
|
+
service_name: serviceName,
|
|
389
399
|
response: results,
|
|
390
400
|
},
|
|
391
401
|
"",
|
|
@@ -393,7 +403,7 @@ class WasmRunner {
|
|
|
393
403
|
]);
|
|
394
404
|
}
|
|
395
405
|
catch (err) {
|
|
396
|
-
loggerInt.error(err, "CHILD MODEL ERROR");
|
|
406
|
+
loggerInt.error(Object.assign(Object.assign({}, err), { message: err.message }), "CHILD MODEL ERROR");
|
|
397
407
|
}
|
|
398
408
|
});
|
|
399
409
|
fn();
|
|
@@ -468,8 +478,10 @@ class WasmRunner {
|
|
|
468
478
|
}
|
|
469
479
|
_getModel(id) {
|
|
470
480
|
const model = this.models.find((m) => m.id === id);
|
|
471
|
-
if (!model)
|
|
481
|
+
if (!model) {
|
|
482
|
+
console.log('Cant find model', id, this.models);
|
|
472
483
|
throw new error_1.default.MissingModelError(id);
|
|
484
|
+
}
|
|
473
485
|
if (!model.ready)
|
|
474
486
|
throw new error_1.default.ModelInitializationError(id);
|
|
475
487
|
return model;
|
|
@@ -482,7 +494,6 @@ class WasmRunner {
|
|
|
482
494
|
isExist(id) {
|
|
483
495
|
try {
|
|
484
496
|
const res = !!this._getModel(id);
|
|
485
|
-
this._logger.info(res, "RUNNER BROWSER: isExist");
|
|
486
497
|
return res;
|
|
487
498
|
}
|
|
488
499
|
catch (err) {
|
|
@@ -544,8 +555,9 @@ class WasmRunner {
|
|
|
544
555
|
}
|
|
545
556
|
this._logger.trace(input, `EXECUTING: ${id}`);
|
|
546
557
|
if (version_uuid) {
|
|
558
|
+
console.log("version_uuid:", version_uuid, "meta:", input === null || input === void 0 ? void 0 : input.request_meta, "id:", id);
|
|
547
559
|
const model = this._getModel(version_uuid);
|
|
548
|
-
const callid = (0,
|
|
560
|
+
const callid = (0, cuid2_1.createId)();
|
|
549
561
|
model.worker.postMessage([JSON.stringify(input), callid]);
|
|
550
562
|
return new Promise((resolve, reject) => {
|
|
551
563
|
let counter = 0;
|